我在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
答案 0 :(得分:2)
$(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
键
希望这会对你有所帮助。