JQuery登录,点击进入登录

时间:2012-02-11 08:16:34

标签: javascript jquery html

我在HTML中的登录表单如下所示:

  <div id="login">      
    <label for="email_B">Email Address</label>
    <input type="text" name="email_B" id="email_B" />
    <label for="password">Password</label>
    <input type="password_B" name="password_B" id="password_B" />
    <input type="submit" id="submit" value="Sign in" />
  </div>

我的JQuery是这样的:

$(document).ready(function() //a

var login = function() {//b
        var emailB = encodeURIComponent($('#email_B').val());  
        var passwordB = encodeURIComponent($('#password_B').val());  
        $('#content').fadeOut();
        $('#login_effect').fadeIn( function(){//c   
            $.ajax({//d 
                type: 'POST', url: 'checklogin.php',  dataType: "json",  data: { email: emailB, password: passwordB,  },
                success: function(result) { //e                     
                    if (!result.success) { timeout = setTimeout(function(){ $('#login_effect').fadeOut(); }, 2500); document.location.href='wrongpassword/'; } 
                    else { timeout = setTimeout(function(){ $('#login_effect').fadeOut(); }, 2500); document.location.href='/profile/'; }
                } //e

            });//d
        });//c
};//b

$('#submit').click(login);

}); //a

只有单击登录按钮(这可以理解为该功能仅在'click()'上运行),这一切都可以正常工作。如何让它工作,以便如果有人按下回车键,它也会工作?抱歉愚蠢的问题。让人们使用回车键会很高兴。

注意:此页面上还有其他2种表格。那么,当我在他们进入这个DIV时,我怎么能这样做呢?它会登录?

我正在思考一些事情
var emailCheck = $('#emailB').val();


if(emailCheck =='' && "enter button is clicked")
{
do nothing
}
elseif(emailCheck.length > 1 && "enter button is clicked")
{
login();
}

我不知道这是否是一种愚蠢的做法,或者有点合乎逻辑。

非常感谢! -Mike

2 个答案:

答案 0 :(得分:2)

而不是使用click()使用submit()

$(document).ready(function(){
    $('#login_form').submit(function(){
        var emailB = encodeURIComponent($('#email_B').val());  
        var passwordB = encodeURIComponent($('#password_B').val());  
        $('#content').fadeOut();
        $('#login_effect').fadeIn();
        $.ajax({
            type: 'POST', url: 'checklogin.php',  dataType: "json",  data: { email: emailB, password: passwordB,  },
            success: function(result) {                
                if (!result.success) { timeout = setTimeout(function(){ $('#login_effect').fadeOut(); }, 2500); document.location.href='wrongpassword/'; } 
                else { timeout = setTimeout(function(){ $('#login_effect').fadeOut(); }, 2500); document.location.href='/profile/'; }
            } 
        });
        return false;
    });

    $('#submit').click(function(){
        $('#login_form').submit();
    });
});

然后将您的HTML更改为:

<div id="login">
    <form id="login_form"> 
        <label for="email_B">Email Address</label>
        <input type="text" name="email_B" id="email_B" />
        <label for="password">Password</label>
        <input type="password_B" name="password_B" id="password_B" />
        <input type="submit" id="submit" value="Sign in" />
    </form>
</div>

答案 1 :(得分:1)

您可以通过连接document.keyup事件来执行此操作。请在w3school上的jQuery Docs.keyup()上详细了解相关信息。您可以使用keyCode值来确定是否按下enter

希望这会对你有所帮助。