我有一个登录表单,在我将其提交给PHP文档后,它运行良好,没有任何问题。但我不希望它重定向到 PHP 文档,所以我正在尝试这样做:
<form id="login" name="login" class="col-1 login" action="blocks/loggedIn.php" method="post">
<input type="text" name="loginEmail" id="loginEmail" placeholder="email :" class="inputLogin"><br>
<input type="password" name="loginPassword" id="loginPassword" placeholder="Password :" class="inputLogin"><br>
<input type="submit" id="loginSubmit" class="button" value="OK"><br>
</form>
<script type="text/javascript">
$(document).ready(function(){
var lE = document.forms["login"]["loginEmail"].value;
var lP = document.forms["login"]["loginPassword"].value;
$('#loginSubmit').click(function(){
if(lE == null || lE == "" || lP == null || lP == ""){
alert('Login and password requiret!');
}else{
$.post(
$('#login').attr('action'),
$('#login : input').serializeArray(),
function(data){
alert(data);
}
);
};
$('#login').submit(function(){
return false;
});
});
});
</script>`
由于某种原因,变量lE
,lP
提交表单后返回空白。我也尝试使用这个来定义它们:var lE = $('#loginEmail').val(); var lP = $('#loginPassword').val();
但仍然没有... 任何想法这可能是什么?
您在页面加载时执行此操作:
var lE = document.forms["login"]["loginEmail"].value;
var lP = document.forms["login"]["loginPassword"].value;
除非用户真的快(如,比计算机快),否则不会在那里键入任何值。 因此,这些变量将为空(或将包含这些字段中可能具有的任何默认值)。
而是在提交表单时获取值:
$('#loginSubmit').click(function(){
var lE = document.forms["login"]["loginEmail"].value;
var lP = document.forms["login"]["loginPassword"].value;
//...