通过JQuery将Checkbox值发布到PHP中

时间:2013-03-13 21:18:58

标签: php jquery variables checkbox

我创建了一个用户登录表单,其中包含“Keep Me Logged In”复选框,我试图通过JQuery将值传递给PHP文件,该文件将处理信息,但我不确定正确的代码是使用。这是我到目前为止所得到的:

var username=$("#username").val();
var password=$("#password").val();
var checkbox=$("#checkbox").val();

if(usernameok == true && passwordok == true)
{           
    $('.validation').html("Logging In").removeClass("error").addClass("success");
    jQuery.post("php/login.php", {
    username:username,
    password: password,
    checked: checked
    },  function(data, textStatus){
    if(data == 1){
        window.location.replace("home.php");
    }
    else{
        $('.validation').html("Wrong Password Given").removeClass("success").addClass("error");
    }
    });
}

然后在Login PHP页面中我使用Request如下:

$username= mysql_real_escape_string($_REQUEST["username"]);
$password= md5(mysql_real_escape_string($_REQUEST["password"]));
$checkbox= mysql_real_escape_string($_REQUEST["checkbox"]);

用户名和密码值很好,但我无法通过复选框。我明白在那里应该有一个:checked语句,但我不确定在哪里放。

由于

2 个答案:

答案 0 :(得分:0)

您需要检查是否选中了复选框(true / false),而不是获取它的值。然后使用ajax函数中的正确变量传递它:

var username = $("#username").val();
var password = $("#password").val();
var checkbox = $("#checkbox").is(':checked');

if(usernameok == true && passwordok == true)
{           
    $('.validation').html("Logging In").removeClass("error").addClass("success");
    jQuery.post("php/login.php", {
        username:username,
        password: password,
        checked: checkbox
    },  function(data, textStatus){
        if(data == 1){
            window.location.replace("home.php");
        }else{
            $('.validation').html("Wrong Password Given").removeClass("success").addClass("error");
        }
    });
}

另一方面,为什么要使用ajax,如果你打算做的只是重定向,你可以通过常规表单提交更容易吗?

答案 1 :(得分:0)

var checkbox = ( $("#checkbox").is(":checked") ) ? "checked" : "not checked";

这是if语句的简写,或者如果您更喜欢常规的if语句:

if( $("#checkbox").is(":checked") ){
    var checkbox = "checked";
} else {
    var checkbox = "not checked";
}