2016-07-11 18 views
0

Ich jage eine kleine Herausforderung bei der Verarbeitung eines HTML-Formulars, dessen Eingabefelder dynamisch mit JavaScript-DOM erstellt werden, das mehrere Auswahlfelder enthält. Hier ist ein Beispielcode der Form habe ich:Wie behandelt man ein HTML-Formular mit dynamischen muliselect Feldern mit PHP?

<input type="text" name="attributeIndex[]" id="brand" class="form-control" placeholder="brand"> 
<select name="attributeIndex[]" id="color" class="form-control"> 
<option value="92">Aero</option> 
<option value="277">Aluminum</option> 
<option value="91">Amber</option> 
</select> 

Nach Absenden des Formulars, ich möchte, wie dies die Formulardaten in einer PHP-Array erhalten:

$formData=$_GET['attributeIndex']; 

Das Array $ Formdata sollte wie folgt:

array(
[0]=>text input value here 
[1]=>array(list of selected colors here) 
) 

Jeder Vorschlag wird sehr geschätzt!

Antwort

0

Namen die Auswahl mit einer zusätzlichen []:

<select name="attributeIndex[][]" 

Auf diese Weise wird jeder Wert PHP in $_GET setzt werden in einem Array in einem Array sein.

Sie müssen auch das Attribut multiple hinzufügen, wenn mehr als eine Option ausgewählt werden soll.

<select name="attributeIndex[][]" multiple id="color" class="form-control"> 
0
<form action="#" method="post"><input type="text" name="attributeIndex['brand'][]" id="brand" class="form-control" placeholder="brand"> 
<select name="attributeIndex['color'][]" id="color" class="form-control" multiple="multiple"> 
<option value="92">Aero</option> 
<option value="277">Aluminum</option> 
<option value="91">Amber</option> 
</select> 
<input type="submit" name="submit" value="submit"> 
</form> 

<?php 
if(isset($_POST['submit'])) { 
    print_r($_POST['attributeIndex']); 

} 

?> 

Sie können darüber hinaus versuchen. Mit AttributIndex ['Marke'] können Sie dynamische Markennamen und AttributIndex ['Farbe'] dynamische Namen erhalten.