我创建了一个用户登录表单,其中包含“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语句,但我不确定在哪里放。
由于
答案 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";
}