Submit form met add button en array pakt alleen eerste input
Ik heb een link gevonden op internet: link
Daar staat ongeveer precies wat ik wil, alleen als ik meerdere input velden heb, verstuurd hij alleen diegene die er al staat, niet die toegevoegd worden door jQuery. Er is ook een `getButtonValue`, maar dat wordt niet via php gedaan. Ik wil als ik op submit druk, dat ik via
alles te zien krijg.
Is dit mogelijk? Zo ja, kan ik een zetje in de goede richting krijgen? Want ik heb geen idee hoe ik dit moet oplossen...
Bedankt voor het wijzen daarop, maar hij pakt nog steeds alleen de eerste input en de submit...
hier ongeveer hetzelfde maar met meerdere velden.
Misschien dat je daar iets mee kan.
Er staat een grove fout in die link die je geeft, ik doe Misschien dat je daar iets mee kan.
Ik heb er even naar gekeken, maar ik begrijp er niet erg veel van. Ondanks dat het wel werkt, wil ik graag weten wat ik doe.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<script>
$(".rowadder").click(function() {
aid = $(this).attr("id").substr(6);
groupid = "#group_" + aid;
$(groupid).append('<div><div><input type="text" name="label_' + aid + '[]" /></div><div><input type="text" name="price_add_' + aid + '[]" /></div></div>')
});
</script>
$(".rowadder").click(function() {
aid = $(this).attr("id").substr(6);
groupid = "#group_" + aid;
$(groupid).append('<div><div><input type="text" name="label_' + aid + '[]" /></div><div><input type="text" name="price_add_' + aid + '[]" /></div></div>')
});
</script>
Waarom substr(6)? Ik heb andere cijfers geprobeerd, geen cijfer, maar dan werkt het niet.
En ik wil graag dat de input velden die je toevoegt ook in de bronpagina komen, maar dat wil niet zeker?
Let op dat Javascript met het gebruik van quotes niet werkt zoals PHP dat doet, je moet daar gewoon escapen.
Bovenstaande code is gebaseerd op een systeempje om gebruikers formulieren te kunnen laten maken voor aangepaste producten, vandaar het groeperen van de inputs, en de selector een class. Daar komt ook de substr vandaan.
Jij zou dit kunnen vereenvoudigen naar 1 button met een id, en een div waarbinnen je de inputs toevoegt.
Met $(selector).append kan je gewoon plain html toevoegen aan het eind van het element.
Ik heb de code wat simpeler gemaakt, bedankt voor de moeite.
Het is nochtans allemaal mogelijk, hoor.
Toon eens de html die overeen komt met die code.
Kijk, wat die code doet:
newTextBoxDiv.appendTo("#TextBoxesGroup");
=> dit zal dus de nieuwe <input> toevoegen aan het einde van <div id="TextBoxesGroup">
Wat nu belangrijk is, is dat dit alles gebeurt binnenin <form>
Dus, wat je moet hebben, is:
Als die nieuwe input binnen <form> komt, wordt ze mee verstuurd, anders niet.
Ik ben vrij gerust dat dit het probleem is.
Ik heb het nog eens overgekeken en het blijkt inderdaad dat het dan wel werkt. Vreemd dat het eerst niet werkte, aangezien ik de code zelfs klakkeloos overgenomen had, om het te testen. Maar goed, bedankt voor de moeite.
Richard Hansma op 18/12/2012 16:00:09:
... aangezien ik de code zelfs klakkeloos overgenomen had, ...
Wel ja, ik had gezien dat in het artikel met geen woord werd gerept over formulieren.
Het ware beter geweest als ze dit wel hadden gedaan.
Het lijkt me dan ook vrij logisch dat mensen, die de code gebruiken, daar zelf niet aan denken.
Ergens verder in de commentaren zie je trouwens code om het formulier met Ajax te versturen.
Gewijzigd op 18/12/2012 17:01:16 door Kris Peeters