2つの選択要素(リストボックス)と2つのボタンを備えたHTMLフォームがあり、データを1つのリストボックスから別のリストボックスに移動します(JavaScriptを使用)。
<form action="page.php" method="post">
<select name="select1" multiple="yes">
<option value="1">Left1</option>
<option value="2">Left2</option>
<option value="3">Left3</option>
</select>
<input type="button" value="-->" onclick="moveOptions(this.form.select1, this.form.select2);" /><br />
<input type="button" value="<--" onclick="moveOptions(this.form.select2, this.form.select1);" />
<select name="select2" multiple="yes">
<option value="4">Right1</option>
<option value="5">Right2</option>
</select>
<input type="submit" name="submit" value="Submit">
</form>
[送信]ボタンを押すと、リストボックスに保存されているすべての値を取得したいと思います。
foreach ($_POST['select1'] as $value)
{
//save data to database
}
これは、選択された値を1つだけ取得します(存在する場合)。
[]
の名前の後にaを付けることで、複数の値(選択されている場合)を取得できましたselect
。
<select name="select1[]" multiple="yes">
ただし、これでも選択されていない値は取得されないため、データ移動JavaScript関数も機能しません。