我使用Ajax在不刷新頁面的情況下提交登錄表單。我添加了一個函數來查看數據是否返回「錯誤」(當用戶輸入不正確的電子郵件/密碼時出現)。如果它沒有返回'錯誤',用戶已經登錄並將在2秒內轉移到頁面。單擊事件充當雙擊事件
問題是,我的按鈕就像一個雙擊按鈕,我看不出爲什麼。這是我的JS文件:
$(function() {
$("#goLogin").click(function() {
$.ajax({
type: "POST",
url: "db-requests/db-login.php",
data: $("#loginForm").serialize(),
success: function(data,textStatus,jqXHR){ finishLogin(data,textStatus,jqXHR); }
});
});
});
function finishLogin(data , textStatus ,jqXHR) {
if (data == "error") {
$('.errorMsg').fadeIn(500).hide();
$('.succesMsg').fadeOut(300).hide();
} else {
$('.succesMsg').fadeIn(500).show();
$('.errorMsg').fadeOut(300).hide();
setTimeout("location.href = 'protected.php';",2000);
}
}
我試過把它放在document_ready標籤之間,但這也不起作用。 HTML代碼的
部分:
<div class="login form">
<div class="login-header">Please Login</div>
<form method="post" id="loginForm" name="form">
<label for="email" class="short">Email*</label>
<input type="text" name="email" id="email" class="required" placeholder="" />
<label for="password" class="short">Password *</label>
<input type="password" name="password" id="password" class="required" placeholder="" maxlength="15" />
</form>
<div id="login-functions">
<div class="loginbtn-container">
<input type="submit" id="goLogin" name="goLogin" class="button green" value="Login" />
</div>
<div class="login form actions">
<p class="register account">Register an account</p>
<p class="request password">Lost your password?</p>
</div>
</div>
</div>
<div class="errorMsg">Incorrect. Please recheck your details</div>
<div class="succesMsg"><b>You've been logged in!</b> Please wait while we transfer you</div>
我們可以看到HTML代碼嗎? –
@ Aurel300我的不好。我只是更新了我的文章:) – danzerr
而不是onclick使用$(表單).onSubmit()並防止默認 –