Okj .. ik zal maar meteen beginnen met m'n scriptje te posten:
Dit scriptje moet er voor zorgen dat je dmv 1 klik een nieuw veld met een input voor een trefwoord en een startpaginadochter te zien krijgt.
Als zo'n veld aangemaakt is, moet je ook nog weer de mogelijkheid hebben om een extra dochter toe te voegen, maar dit lukt niet goed.
het probleem is dat ik de elementen aanmaak dmv createElement en vervolgens een name toevoeg waarna ik ze aan het document verbindt. Maar die name wordt niet toegevoegd tot de DOM als het ware. Als ik alle FORM-elementen bij langs gaat, hebben deze velden dus helemaal geen name meer ofzo ..
Er staat een levend voorbeeld op:
http://www.sovenewmedia.nl/test4.php
alvast bedankt
code:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| <script language="JavaScript" type="text/javascript">
function createNewDochter(theId) {
hIndex = 0;
alert(theId);
for (var i = 0; i < document.forms['overzicht'].elements.length; i++) {
thisName = document.forms['overzicht'].elements[i].name;
if (thisName.indexOf(theId) >= 0) {
daIndex = thisName.charAt(12);
if (hIndex < daIndex) {
hIndex = daIndex;
}
}
}
oInput = document.createElement('<input>');
oInput.name = theId + '[' + ++hIndex +']';
document.all[theId +'Div'].innerHTML += '<br />Dochter: ';
document.all[theId +'Div'].appendChild(oInput);
}
function createNew() {
hIndex = 0;
for (var i = 0; i < document.forms['overzicht'].elements.length; i++) {
thisName = document.forms['overzicht'].elements[i].name;
if (thisName.indexOf('trefwoord[') >= 0) {
daIndex = thisName.charAt(10);
if (hIndex < daIndex) {
hIndex = daIndex;
}
}
}
oDiv = document.createElement('div');
oDiv.id = 'dochters['+ ++hIndex + ']';
oDiv.innerHTML += "Trefwoord: ";
oInput1 = document.createElement('input');
oInput1.name = 'trefwoord['+ hIndex +']';
oDiv.appendChild(oInput1);
oDiv.innerHTML += "<br />Dochter: ";
oInput2 = document.createElement('input');
oInput2.name = 'dochters['+ hIndex +'][0]';
oDiv.appendChild(oInput2);
document.all['inputDiv'].appendChild(oDiv);
document.all['inputDiv'].innerHTML += '<a href="javascript: createNewDochter(\'dochters[' + hIndex + ']\'); void(0);">Nieuwe dochter</a><a href="javascript: createNew(); void(0);">Nieuwe trefwoord</a>';
}
</script>
<form name="overzicht" method="post" action="">
<div id="inputDiv">
<div id="dochters[0]Div">
Trefwoord: <input type="text" name="trefwoord[0]"><br />
Dochter: <input type="text" name="dochters[0][0]">
</div>
<a href="javascript: createNewDochter('dochters[0]'); void(0);">Nieuwe dochter</a>
<hr />
<div id="dochters[1]Div">
Trefwoord: <input type="text" name="trefwoord[1]"><br />
Dochter: <input type="text" name="dochters[1][]">
</div>
<a href="javascript: createNewDochter('dochters[1]'); void(0);">Nieuwe dochter</a>
<a href="javascript: void(0);" onClick="createNew();">Nieuw Trefwoord</a>
</div>
<input type="submit" name="blaat" value="submit">
</form> |
Dit scriptje moet er voor zorgen dat je dmv 1 klik een nieuw veld met een input voor een trefwoord en een startpaginadochter te zien krijgt.
Als zo'n veld aangemaakt is, moet je ook nog weer de mogelijkheid hebben om een extra dochter toe te voegen, maar dit lukt niet goed.
het probleem is dat ik de elementen aanmaak dmv createElement en vervolgens een name toevoeg waarna ik ze aan het document verbindt. Maar die name wordt niet toegevoegd tot de DOM als het ware. Als ik alle FORM-elementen bij langs gaat, hebben deze velden dus helemaal geen name meer ofzo ..
Er staat een levend voorbeeld op:
http://www.sovenewmedia.nl/test4.php
alvast bedankt