om gegevens te posten met ajax heb ik een script gevonden dat velden uit een formulier verzameld en in een string zet, het zoekt echter alleen in form enn niet in de childs van form naar velden.
ik heb het al op mijn manier aangepast zodat het als het geen formulierveld is voor de cilds van dat object kijkt of dat velden zijn, dit zou ik natuurlijk eindeloos kunnen herhalen maar dan word het script ook eindeloos lang.
Er zal vast een manier zijn om in een loop ofzo dat het echt alle elementen doorloopt, maar ik weet niet hoe.
ik heb het al op mijn manier aangepast zodat het als het geen formulierveld is voor de cilds van dat object kijkt of dat velden zijn, dit zou ik natuurlijk eindeloos kunnen herhalen maar dan word het script ook eindeloos lang.
Er zal vast een manier zijn om in een loop ofzo dat het echt alle elementen doorloopt, maar ik weet niet hoe.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| var obj = document.getElementById(objid); for (i=0; i<obj.childNodes.length; i++) { if (obj.childNodes[i].tagName == "INPUT") { if (obj.childNodes[i].type == "hidden") { getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&"; } if (obj.childNodes[i].type == "text") { getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&"; } if (obj.childNodes[i].type == "checkbox") { if (obj.childNodes[i].checked) { getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&"; } else { getstr += obj.childNodes[i].name + "=&"; } } if (obj.childNodes[i].type == "radio") { if (obj.childNodes[i].checked) { getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&"; } } } else if (obj.childNodes[i].tagName == "SELECT") { var sel = obj.childNodes[i]; getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&"; } else if (obj.childNodes[i].tagName == "TEXTAREA") { getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&"; } else { var iobj = obj.childNodes[i]; for (ii=0; ii<iobj.childNodes.length; ii++) { //hier kopieer ik het bovenste met obj = iobj en i = ii } } |