0

入力フィールドが複数の選択フィールドを含む JavaScript DOM を使用して動的に作成される HTML フォームを処理するという、ちょっとした課題を追っています。これが私が持っているフォームのサンプルコードです:

<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>

フォームを送信した後、次のような PHP 配列でフォーム データを取得したいと考えています。

$formData=$_GET['attributeIndex'];

配列 $formData は次のようになります。

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

どんな提案でも大歓迎です!

4

2 に答える 2

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']);

}

?>

この上で試すことができます。attributeIndex['brand'] を使用すると動的なブランド名を取得でき、attributeIndex['color'] を使用すると動的な色名を取得できます。

于 2016-07-11T09:01:13.260 に答える
0

追加で選択に名前を付けます[]

<select name="attributeIndex[][]"

そうすれば、PHP が入れる各値$_GETは、配列内の配列になります。

multiple複数のオプションを選択する場合は、属性を追加する必要もあります。

<select name="attributeIndex[][]" multiple id="color" class="form-control">
于 2016-07-11T09:05:40.913 に答える