0

我创建了一个带有“让我登录”复选框的用户登录表单,我试图通过 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 语句,但我不确定该放在哪里。

谢谢

4

2 回答 2

0

您需要检查复选框是否被选中(真/假),而不是得到它的价值。然后在 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,您可以使用常规表单提交更容易做到这一点?

于 2013-03-13T21:31:03.110 回答
0
var checkbox = ( $("#checkbox").is(":checked") ) ? "checked" : "not checked";

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

if( $("#checkbox").is(":checked") ){
    var checkbox = "checked";
} else {
    var checkbox = "not checked";
}
于 2013-03-13T21:34:48.980 回答