Via JS een input toevoegen aan formulier
Ik ben met een formulier bezig waarin je inputs kan toevoegen via javascript. Maar als ik op de submit knop druk, en ik doe:
Staan de toegevoegde inputs er niet tussen.
Dit is de input die toegevoegd word:
Code (php)
1
<input type="text" onchange="setSubTotal(' + number + ')" id="palen_aantal' + number + '-' + Nummer + '" name="palen_aantal' + number + '-' + Nummer + '" size="8" value="0" />
Kan iemand me hierbij helpen?
Gewijzigd op 01/01/1970 01:00:00 door Jorian
<form name="formuliernaam" action="action.php" method="post">
gr
Arnold
Nee want hij laat de andere inputs (die niet vanuit javascript erin geplaatst worden) wel zien.
Niemand? Ik ben het hard nodig en het werkt nog steeds niet.
Geef eens een URL.
jorian schreef op 03.11.2008 21:13:
Niemand? Ik ben het hard nodig en het werkt nog steeds niet.
Bedoel je zoiets: http://www.jankoehoorn.nl/test.php
@Jan: Ja, dat is precies wat ik ook heb, maar bij mij werkt het niet..
jorian schreef op 03.11.2008 22:01:
maar bij mij werkt het niet../quote]
Tja, zonder url houdt het snel op. Als je echt precies hetzelfde hebt als ik, zou het moeten werken zoals bij mij toch?
Tja, zonder url houdt het snel op. Als je echt precies hetzelfde hebt als ik, zou het moeten werken zoals bij mij toch?
Ja, maar dan doe je het toch heel anders? Jij zet de innerHTML van een tabelcel op een string met een input. Ik vraag me af of dat goed gaat. Ik maak echt een nieuw DOM element aan met new Element ('input');
Volgens mij zou het gewoon moeten werken met innerHTML.
<input type="text" value="0" size="8" name="palen_aantal1-1" id="palen_aantal1-1" onchange="setSubTotal(1)"/>
Niks mis mee toch?
jorian: en is het ook daadwerkelijk een subelement BINNEN je form?
Dan zie ik de html..
Niemand?
Ik ben dit hard nodig, is er echt niemand die me kan helpen?
Ik zocht laatst ook zoiets, en kwam op dit uit, en werkt perfect.
http://www.quirksmode.org/dom/domform.html
kan niet. Bij mijne word elke nieuwe input, in de tabel geplaatst.
Jij zoekt dus iets wat gewoon EXACT werkt zoals jij het nodig hebt...
Dan wordt het lastig.
Je kan snippets ook een beetje aanpassen aan jouw wensen...
En ehh.. Waarom kan je geen div in een table plaatsen volgens jouw?
Ik zal even een groter stuk van de code geven, dit word uitgevoerd als ik op de knop 'Nieuw veld' druk:
Code (php)
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
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
function addField(number) {
var Tabel = document.getElementById('tabel' + number);
var newRow = Tabel.insertRow(Numb[number]);
var newCell = newRow.insertCell(-1);
newCell.width = '42';
var Nummer = Numb[number] - (Start - 1);
var MM = 250 + (number * 50);
var Var30 = (BetonVar / 100) + 1;
var Text = number + '-' + Nummer;
var newCell2 = newRow.insertCell(-1);
newCell2.innerHTML = '<input type="text" onchange="setSubTotal(' + number + ')" id="palen_aantal' + Text + '" name="palen_aantal' + Text + '" size="8" value="0" />';
var newCell3 = newRow.insertCell(-1);
newCell3.innerHTML = MM + '<input type="hidden" id="prijs' + number + '-'+Nummer+'" value="0.00" />';
var newCell4 = newRow.insertCell(-1);
newCell4.innerHTML = '<input type="text" onchange="setSubTotal(' + number + ')" id="palen_lengte' + Text+'" name="palen_lengte' + Text+'" size="8" value="0.00" />';
var newCell5 = newRow.insertCell(-1);
newCell5.innerHTML = '<input type="text" disabled="disabled" id="palen_lengte_totaal' + Text+'" name="palen_lengte_totaal' + Text+'" size="8" value="0.00" />';
var newCell6 = newRow.insertCell(-1);
newCell6.innerHTML = '<select size="1" id="wapening' + Text+'" name="wapening' + Text+'"><option selected="selected">412</option><option>512</option><option>612</option><option>516</option></select>';
var newCell7 = newRow.insertCell(-1);
newCell7.innerHTML = '<input type="text" onchange="setSubTotal(' + number + ')" id="wapening_lengte' + Text+'" name="wapening_lengte' + Text+'" size="8" value="0.00" />';
var newCell8 = newRow.insertCell(-1);
newCell8.innerHTML = '<select id="staven_diameter' + Text+'" name="staven_diameter' + Text+'" onchange="changeRow2()"><option value="10">10</option><option value="12">12</option><option value="14">14</option><option value="16">16</option><option value="20">20</option><option value="25">25</option><option value="32">32</option><option value="40">40</option></select>';
var newCell9 = newRow.insertCell(-1);
newCell9.innerHTML = '<input type="text" id="staven_lengte' + Text+'" name="staven_lengte' + Text+'" value="0.00" size="8" onchange="changeRow2()" />';
var newCell10 = newRow.insertCell(-1);
newCell10.innerHTML = Liters[MM];
newCell10.colSpan = '2';
var newCell11 = newRow.insertCell(-1);
newCell11.innerHTML = '<input type="text" id="beton_var' + Text+'" name="beton_var' + Text+'" disabled="disabled" value="' + Math.round(parseFloat(Liters[MM] * Var30)) + '" size="8" />';
newCell11.colSpan = '2';
var newCell12 = newRow.insertCell(-1);
newCell12.innerHTML = '<input type="text" onchange="setSubTotal(' + number + ')" disabled="disabled" id="beton_m3' + Text+'" name="beton_m3' + Text+'" size="8" value="0">';
var newCell13 = newRow.insertCell(-1);
newCell13.innerHTML = '<font onclick="javascript: deleteField(' + number + ')">Verwijder</font>';
Numb[number] ++;
setSubTotal(number);
setTotal();
}
var Tabel = document.getElementById('tabel' + number);
var newRow = Tabel.insertRow(Numb[number]);
var newCell = newRow.insertCell(-1);
newCell.width = '42';
var Nummer = Numb[number] - (Start - 1);
var MM = 250 + (number * 50);
var Var30 = (BetonVar / 100) + 1;
var Text = number + '-' + Nummer;
var newCell2 = newRow.insertCell(-1);
newCell2.innerHTML = '<input type="text" onchange="setSubTotal(' + number + ')" id="palen_aantal' + Text + '" name="palen_aantal' + Text + '" size="8" value="0" />';
var newCell3 = newRow.insertCell(-1);
newCell3.innerHTML = MM + '<input type="hidden" id="prijs' + number + '-'+Nummer+'" value="0.00" />';
var newCell4 = newRow.insertCell(-1);
newCell4.innerHTML = '<input type="text" onchange="setSubTotal(' + number + ')" id="palen_lengte' + Text+'" name="palen_lengte' + Text+'" size="8" value="0.00" />';
var newCell5 = newRow.insertCell(-1);
newCell5.innerHTML = '<input type="text" disabled="disabled" id="palen_lengte_totaal' + Text+'" name="palen_lengte_totaal' + Text+'" size="8" value="0.00" />';
var newCell6 = newRow.insertCell(-1);
newCell6.innerHTML = '<select size="1" id="wapening' + Text+'" name="wapening' + Text+'"><option selected="selected">412</option><option>512</option><option>612</option><option>516</option></select>';
var newCell7 = newRow.insertCell(-1);
newCell7.innerHTML = '<input type="text" onchange="setSubTotal(' + number + ')" id="wapening_lengte' + Text+'" name="wapening_lengte' + Text+'" size="8" value="0.00" />';
var newCell8 = newRow.insertCell(-1);
newCell8.innerHTML = '<select id="staven_diameter' + Text+'" name="staven_diameter' + Text+'" onchange="changeRow2()"><option value="10">10</option><option value="12">12</option><option value="14">14</option><option value="16">16</option><option value="20">20</option><option value="25">25</option><option value="32">32</option><option value="40">40</option></select>';
var newCell9 = newRow.insertCell(-1);
newCell9.innerHTML = '<input type="text" id="staven_lengte' + Text+'" name="staven_lengte' + Text+'" value="0.00" size="8" onchange="changeRow2()" />';
var newCell10 = newRow.insertCell(-1);
newCell10.innerHTML = Liters[MM];
newCell10.colSpan = '2';
var newCell11 = newRow.insertCell(-1);
newCell11.innerHTML = '<input type="text" id="beton_var' + Text+'" name="beton_var' + Text+'" disabled="disabled" value="' + Math.round(parseFloat(Liters[MM] * Var30)) + '" size="8" />';
newCell11.colSpan = '2';
var newCell12 = newRow.insertCell(-1);
newCell12.innerHTML = '<input type="text" onchange="setSubTotal(' + number + ')" disabled="disabled" id="beton_m3' + Text+'" name="beton_m3' + Text+'" size="8" value="0">';
var newCell13 = newRow.insertCell(-1);
newCell13.innerHTML = '<font onclick="javascript: deleteField(' + number + ')">Verwijder</font>';
Numb[number] ++;
setSubTotal(number);
setTotal();
}