Archief - Dynamische Form (Dropdown -> Textfields)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

skinny_sl

Legacy Member
Hallo,

Ben al op een aantal forums terechtgekomen maar ik vind nergens wat ik echt zoek.

Ik zou een formuliertje willen opstellen waarbij men mensen kan uitnodigen voor een evenement. De bedoeling is iets als dit:

Met een dropdown wordt het aantal mensen bepaalt waarna er dus evenveel textfields verschijnen (zonder te refreshen uiteraard) om de e-mailadressen in te vullen. Dus als er in het dropdown-menu een "7" wordt geselecteerd, er 7 textfields verschijnen.
Ik veronderstel dat dit gebeurt met Javascript of AJAX?

Alvast bedankt..

dJeez

Legacy Member
Ja, door manipulatie via het Document Object Model (kortweg DOM). Een mogelijke oplossing om dat te doen is een container (vb. een div) te definiëren die je via zijn id gaat aanspreken en daar dan via createElement de nodige inputvelden in aanmaken.

vettetak

Legacy Member
je zou dit moeten doorvoeren met een simpele javascript functie maar eerst en vooral maak je een div aan waarin je deze functie zet. Hij zou er ongeveer als volgt moeten uitzien:

Code:
function createFields(count) {
   for (var i = 0; i < count; i++) {
      document.write("<input type='text' name='email"+count+"' id='email"+count+"' maxlength='60'><br />");
   }
}
je moet het aantal velden ingeven door een post te doen via bv php. als je het zo zou doen gebruik je gewoon het volgende:

PHP:
$count = $_POST['count'];
echo "<script type='text/javascript'>createFields(" . $count . ");</script>";

Greetz,
Kprojects

skinny_sl

Legacy Member
Dat heb ik nu ook zo gedaan: met een post wordt nu het aantal doorgegeven en met een PHP-lusje worden dan de velden aangemaakt. Maar dat is nu eigenlijk juist het probleem, dat ik nog altijd met 2 pagina's werk, terwijl ik het in 1 pagina wil.
Bijv. met een dropdown het aantal kiezen, en dat dan zonder de pagina opnieuw geladen wordt, de velden worden getoond.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan