【发布时间】:2010-12-31 00:43:11
【问题描述】:
所以在 PHP 中我可以将它们处理为:
foreach($_POST['checkboxname'] as $i => $value)
...
【问题讨论】:
所以在 PHP 中我可以将它们处理为:
foreach($_POST['checkboxname'] as $i => $value)
...
【问题讨论】:
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(even){
$("button").click(function(){
var checkvalue = [];
$.each($("input[name='1']:checked"), function(){
checkvalue.push($(this).val());
});
alert("checkvalue: " + checkvalue.join(", "));
});
});
</script>
<body>
<input type="checkbox" name="1" value="1" > 1 <br/>
<input type="checkbox" name="1" value="2"> 2 <br/>
<input type="checkbox" name="1" value="3"> 3 <br/>
<button type="button">Get Values</button>
</body>
</html>
【讨论】:
如果您为复选框使用数组,您应该添加一个值选项作为单个复选框的标识符,因为这样返回的数组会从 Array ( [0] => on, [1] => on) 到 Array ( [0] => value1, [1] => value5 ),它可以让您识别选中的复选框。
【讨论】:
对于那些可以向服务器发送多个值的 HTML 表单元素(如复选框或多个选择框),您应该使用类似名称的数组作为 HTML 元素名称。像这样:
<input type="checkbox" name="checkboxname[]" />
还建议您对表单元素使用“multipart/form-data”的编码类型。
<form enctype="multipart/form-data" action="target.php" method="post">
然后在您的 PHP 脚本中,您可以将多个值数据作为数组访问,就像您想要的那样。
【讨论】:
enctype 是不必要的。
做这样的事情:
<input type="checkbox" name="checkboxArray[]" />
注意名称中的 []。
【讨论】:
foreach 失败。请务必在foreach 之前测试isset($_POST['checkboxname'])。
像这样:
<input type="checkbox" name="checkboxname[]" />
<input type="checkbox" name="checkboxname[]" />
<input type="checkbox" name="checkboxname[]" />
<input type="checkbox" name="checkboxname[]" />
<input type="checkbox" name="checkboxname[]" />
只需在他们的名字后面加上 []。
【讨论】:
Array ( [4] => on ) 之类的东西,但它显示 Array ( [0] => on ) 为什么我应该请像 checkboxname[1] 和 checkboxname[2] 这样的值???