我有以下复选框:
<input type="checkbox" value="yes" id="checkBox">
它是表单元素之一,我使用Ajax将表单数据发送到PHP文件:
var check = $('#checkBox').val();
$.ajax({
type: "POST",
url: "file.php",
data: {check:check},
success: function(data) {
alert(data);
}
});
然后在file.php中:
$check = $_POST['check'];
if( !isset($check) OR $check !== "yes" ){
echo "Not checked";
}
但是这个条件总是假的,因为值总是设置为= yes
那么如何检查未勾选复选框?
答案 0 :(得分:1)
您发布了复选框的值(已选中或未选中)。
试试这个:
var check = $('#checkBox:checked').val();
它将返回yes
或undefined
。
要测试是否选中了复选框,您可以测试长度:
var isChecked = $('#checkBox:checked').length;
答案 1 :(得分:1)
如果选中
,则返回truehasManyThrough
如果选中则返回“1”
var check = $('#checkBox:checked').length > 0;
答案 2 :(得分:1)
在这里,我们需要使用prop方法检查是否选中了复选框。
var check = false;
if($('#checkBox').prop('checked') == true ){
check = $('#checkBox').val();
}
$.ajax({
type: "POST",
url: "file.php",
data: {check:check},
success: function(data) {
alert(data);
}
});