Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在选择列表中发布所有选项?_Php_Javascript_Select - Fatal编程技术网

Php 如何在选择列表中发布所有选项?

Php 如何在选择列表中发布所有选项?,php,javascript,select,Php,Javascript,Select,我有一个选择多个列表,其中有一些项目。它是ACL的IP地址列表。用户可以添加/删除IP,然后保存列表。但是,除非您在列表中选择一项,$\u POST[selectName]不包含任何值。我怎样才能做到这一点?我知道我可以用javascript做到这一点,但我宁愿坚持使用PHP。编辑/更正:您需要JS。无法通过POST发送所有(选定和未选定)选项。在提交之前,您必须通过编程选择所有选项 格式为(file1.php)的文件: 函数selectAll() { selectBox=document.

我有一个选择多个列表,其中有一些项目。它是ACL的IP地址列表。用户可以添加/删除IP,然后保存列表。但是,除非您在列表中选择一项,
$\u POST[selectName]
不包含任何值。我怎样才能做到这一点?我知道我可以用javascript做到这一点,但我宁愿坚持使用PHP。

编辑/更正:您需要JS。无法通过POST发送所有(选定和未选定)选项。在提交之前,您必须通过编程选择所有选项

格式为(file1.php)的文件:


函数selectAll()
{ 
selectBox=document.getElementById(“someId”);
对于(变量i=0;i
接收POST的文件(file2.php):


为了强调这一点,您还可以使用jQuery版本的@Kamil代码,它比循环稍微简单一些:

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

jQuery('[name=“form1”]')。在(“提交”上,选择All);
函数selectAll()
{ 
jQuery('[name=“selectName[]”选项').prop('selected',true);
}
123.123.123.123
234.234.234.234

浏览器不会将这些值发送到PHP,您需要Javascript来操作提交过程。因此,没有PHP唯一的方法可以做到这一点。您看到了吗?传统的方法是使用“选择多个”选项,然后在表单提交时让javascript选择所有选项。他希望从多个
中发送所有可用值,而不仅仅是所选值。@Pekka웃 啊,那么也许他应该把所有这些选项都设置为选中?是的;他需要JavaScript来完成这个任务that@Pekka웃 没错。我修正了我的答案。有人能确认我的新答案吗?
<?php
    foreach ($_POST['selectName'] as $item)
    {
    print "$item<br/>";
    }
?>
<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>