Via JS een input toevoegen aan formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jorian

jorian

02/11/2008 17:44:00
Quote Anchor link
Hallo,

Ik ben met een formulier bezig waarin je inputs kan toevoegen via javascript. Maar als ik op de submit knop druk, en ik doe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
print_r($_POST);

Staan de toegevoegde inputs er niet tussen.
Dit is de input die toegevoegd word:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
 
PHP hulp

PHP hulp

23/12/2024 12:29:13
 
Arnold C

Arnold C

02/11/2008 18:57:00
Quote Anchor link
Geen typfoutje in de aanroep van het formulier?

<form name="formuliernaam" action="action.php" method="post">

gr
Arnold
 
Jorian

jorian

02/11/2008 19:19:00
Quote Anchor link
Nee want hij laat de andere inputs (die niet vanuit javascript erin geplaatst worden) wel zien.
 
Jorian

jorian

03/11/2008 21:13:00
Quote Anchor link
Niemand? Ik ben het hard nodig en het werkt nog steeds niet.
 
- -

- -

03/11/2008 21:36:00
Quote Anchor link
Geef eens een URL.
 
Jan Koehoorn

Jan Koehoorn

03/11/2008 21:40:00
Quote Anchor link
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
 
Jorian

jorian

03/11/2008 22:01:00
Quote Anchor link
@Jonathan: Sorry, ik kan geen URL geven.

@Jan: Ja, dat is precies wat ik ook heb, maar bij mij werkt het niet..
 
Jan Koehoorn

Jan Koehoorn

03/11/2008 22:04:00
Quote Anchor link
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?
 
Jorian

jorian

03/11/2008 22:05:00
Quote Anchor link
Ik heb het zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
var newRow = Tabel.insertRow(Numb[number]);
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" />';
 
Jan Koehoorn

Jan Koehoorn

03/11/2008 22:12:00
Quote Anchor link
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');
 
Pim Vernooij

Pim Vernooij

03/11/2008 23:35:00
Quote Anchor link
Jorian: bekijk je source eens via de "inspect" mode van firebug. Dan kan je precies zien waar je toegevoegde element in je DOM staat.

Volgens mij zou het gewoon moeten werken met innerHTML.
 
Jorian

jorian

04/11/2008 16:03:00
Quote Anchor link
Er staat:
<input type="text" value="0" size="8" name="palen_aantal1-1" id="palen_aantal1-1" onchange="setSubTotal(1)"/>

Niks mis mee toch?
 
Rens nvt

Rens nvt

04/11/2008 16:06:00
Quote Anchor link
jorian: en is het ook daadwerkelijk een subelement BINNEN je form?
 
Jorian

jorian

04/11/2008 16:07:00
Quote Anchor link
Waar kan je dat zien? Ik klik gewoon in FF rechtermuisknop op het vak en dan: Element inspecteren.
Dan zie ik de html..
 
Jorian

jorian

05/11/2008 12:09:00
Quote Anchor link
Niemand?
 
Jorian

jorian

06/11/2008 13:02:00
Quote Anchor link
Ik ben dit hard nodig, is er echt niemand die me kan helpen?
 
Jelle Posthuma

Jelle Posthuma

06/11/2008 14:32:00
Quote Anchor link
Dit is denk ik exact wat je nodig hebt.
Ik zocht laatst ook zoiets, en kwam op dit uit, en werkt perfect.

http://www.quirksmode.org/dom/domform.html
 
Jorian

jorian

06/11/2008 14:36:00
Quote Anchor link
Ja, die site heb ik al gezien. Maar werkt niet voor mij, want je kan geen div in een tabel plaatsen, dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<table>
<div>
</div>
<tr><td>blabla</td></ttr>
</table>

kan niet. Bij mijne word elke nieuwe input, in de tabel geplaatst.
 
Jelle Posthuma

Jelle Posthuma

06/11/2008 14:42:00
Quote Anchor link
Ik kan anders prima met dat systeem omgaan die in dat artikel besproken wordt.
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?
 
Jorian

jorian

06/11/2008 14:45:00
Quote Anchor link
Naja, ik zoek niet naar een nieuw systeem. Ik vraag gewoon of iemand weet waarom de code die ik nu gebruik, niet werkt.

Ik zal even een groter stuk van de code geven, dit word uitgevoerd als ik op de knop 'Nieuw veld' druk:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
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();
}
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.