没有重定向,密码和登录的jQuery表单登录检查返回空白

时间:2016-02-26 20:05:30

标签: jquery

我提交了一个登录表单,在我将其提交到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>`       

由于某些原因,变量lElP在我提交表单后返回空白。 我也试图用它来定义它们:
var lE = $('#loginEmail').val(); var lP = $('#loginPassword').val();
但仍然没有......任何想法是什么?

1 个答案:

答案 0 :(得分:2)

您在页面加载时执行此操作:

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;
    //...