【发布时间】:2017-06-20 06:50:37
【问题描述】:
无论我们点击登录按钮还是按 Enter 键,我都希望提交登录表单。
HTML 表单是:
<form id="myForm" role="form" class="login-form">
<div class="form-group">
<label class="sr-only" for="form-username">Username</label>
<input type="text" name="form-username" id="form-username" placeholder="Username..." class="form-username form-control" id="form-username">
</div>
<div class="form-group">
<label class="sr-only" for="form-password">Password</label>
<input type="password" name="form-password" id="form-password" placeholder="Password..." class="form-password form-control" id="form-password">
</div>
<button type="button" name="loginBtn" id="loginBtn" class="btn btn-danger">Login</button>
</form>
我在jQuery中使用了以下方法:
var loginFunction = function(){
var userTxt = document.getElementById("form-username").value;
var passTxt = document.getElementById("form-password").value;
if(userTxt !="" && passTxt != "")
{
$.ajax({
url: './php/login.php',
type: 'POST',
dataType: 'text',
data: {user: userTxt, pass: passTxt},
success:function(res3)
{
if(res3=="correct")
{
window.location.href='./pages/home.php';
}
},
error:function(res3) {
if(res3=="incorrect")
{
alert("Username and Password are incorrect");
}
}
})
}
还有:
$(document).ready(function()
{
$("#loginBtn").on('click', loginFunction);
$("#form-password").keypress(function(event)
{
if(event.which == 13)
{
//event.preventDefault();
$("loginBtn").click();
}
});
});
on click 方法工作正常,但是当我在表单中的任何位置按 Enter 时,什么也没发生,而且如果用户名和密码不正确,我将看不到警报消息。
【问题讨论】:
-
$("#loginBtn").click();缺少# -
'$( "#target" ).keypress(function() { console.log("调用了 .keypress() 的处理程序。" ); });'用于键绑定!
-
也可以用
trigger()$("#loginBtn").trigger("click");触发点击事件 -
您的所有解决方案都运行良好。现在,当 Json 响应“不正确”时,我看不到警报消息,但是当它响应“正确”时,它会重定向到登录后页面
标签: javascript jquery