如何检查是否使用Ajax和PHP检查了复选框?

时间:2018-06-01 10:42:47

标签: php jquery html ajax

我有以下复选框:

 <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

那么如何检查未勾选复选框?

3 个答案:

答案 0 :(得分:1)

您发布了复选框的值(已选中或未选中)。

试试这个:

var check = $('#checkBox:checked').val();

它将返回yesundefined

要测试是否选中了复选框,您可以测试长度:

var isChecked = $('#checkBox:checked').length;

答案 1 :(得分:1)

如果选中

,则返回true
hasManyThrough

如果选中则返回“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);
    }
});