我正在处理一个html表单,其中有许多复选框,但我想只将未经检查的值传递给另一个表单(get_value.php
)。
<form action="get_value.php" method="post">
<input type='checkbox' name='products[]' value='call1'>col1<br>
<input type='checkbox' name='products[]' value='call2'>col2<br>
<input type='checkbox' name='products[]' value='call3'>col3<br>
<input type='checkbox' name='products[]' value='call4'>col4<br>
<input type='submit' value='Submit'>
</form>
有没有办法过滤$ _POST [&#39;产品&#39;]才能获得未经检查的值?
答案 0 :(得分:1)
根本不会发送未选中的复选框。例如,如果您检查 col1 和 col2 ,则会将以下POST数据发送到 get_value.php :
array(
'products' => array(
'call1',
'call2',
),
)
如果您想确定哪些未经检查,请执行以下操作:
$values = array(
'call1',
'call2',
'call3',
'call4',
);
$unchecked = array_diff($values, $_POST['products']);
var_dump($unchecked);
结果:
array(2) {
[2]=>
string(5) "call3"
[3]=>
string(5) "call4"
}
答案 1 :(得分:0)
您还可以在javascipt中获取未选中的复选框值。
试试这个
$('#q').submit(function(e) {
$('input[type="checkbox"]').each(function(index) {
if(!this.checked) {
alert(this.value);
}
});
e.preventDefault();
});
此处q
将为formID
。