这会成功返回结果,但结果对我没用。在php文件中,我有这个简单的代码:var_dump($ _ POST ['rememberMe']);
是否标记了复选框,结果是字符串(2)“on”。如何根据复选框是否标记来获得更改的结果?
感谢。
Remember Me: <input type="checkbox"
id="remember">
<div id="result" style="margin-top:20px;">
<script>
$("#submit").click(function(){
submitLogin();
});
$("#password").keyup(function (f){
if (f.keyCode == 13) {
submitLogin();
}
});
function submitLogin(){
$.post("php/test.php", {
loginUsername:$('#username').val(),
loginPassword:$('#password').val(),
rememberMe:$('#remember').val()
}, function(data){
$("#result").text(data);
});
}
</script>
答案 0 :(得分:1)
对于复选框,value属性是必需的,默认为on
。这适用于是否选中复选框,值始终相同。你想要的是检查复选框的状态(而不是它的值)。
$('#remember').prop("checked")
顺便说一下,这比.is(:checked)
快,请参阅http://jsperf.com/prop-vs-ischecked/5进行比较。
答案 1 :(得分:0)
如果您通过post $(“form”)序列化您发送的表单,那就更好了.serialize();然后,在目标页面中,只检查$ _POST ['rememberMe']是否存在。 (如果未选中该复选框,则$ _POST ['rememberMe']的isset将等于false)
答案 2 :(得分:0)
此:
rememberMe:$('#remember').val()
需要成为:
rememberMe:$('#remember').is(':checked')