いくつかの項目を含む複数のリストを選択しています。ACLのIPアドレスのリストです。IPを追加/削除してから、リストを保存できます。ただし、リストから項目を選択しない限り、$_POST[selectName]
値は含まれません。どうすればこれを達成できますか?私はjavascriptでこれを行うことができることを知っていますが、私はむしろPHPに固執したいと思います。
質問する
19323 次
2 に答える
18
編集/修正:JSが必要です。POSTを介してすべての(選択されたオプションと選択されていない)オプションを送信する方法はありません。送信する前に、プログラムですべてのオプションを選択する必要があります。
フォーム付きのファイル(file1.php):
<script type="text/javascript">
function selectAll()
{
selectBox = document.getElementById("someId");
for (var i = 0; i < selectBox.options.length; i++)
{
selectBox.options[i].selected = true;
}
}
</script>
<form method="post" action="file2.php">
<select id="someId" name="selectName[]" multiple>
<option value="123.123.123.123">123.123.123.123</option>
<option value="234.234.234.234">234.234.234.234</option>
</select>
<input type="submit" name="submit" value=Submit onclick="selectAll();">
</form>
POSTを受け取るファイル(file2.php):
<?php
foreach ($_POST['selectName'] as $item)
{
print "$item<br/>";
}
?>
于 2013-03-03T20:33:39.270 に答える
1
これに取り組むために、ループよりも少し単純な@KamilのコードのjQueryバージョンを使用することもできます。
<script type="text/javascript">
jQuery('[name="form1"]').on("submit",selectAll);
function selectAll()
{
jQuery('[name="selectName[]"] option').prop('selected', true);
}
</script>
<form name="form1" method="post" action="file2.php">
<select id="someId" name="selectName[]" multiple>
<option value="123.123.123.123">123.123.123.123</option>
<option value="234.234.234.234">234.234.234.234</option>
</select>
<input type="submit" name="submit" value=Submit onclick="selectAll();">
</form>
于 2015-09-10T20:08:43.533 に答える