我一直在嘗試解決這個代碼幾個小時,我仍然無法使它的工作。表單提交'返回false'重新加載當前頁面
這是相當基本的:
我建立一個混合iOS應用程序,有需要的用戶登錄到我們的系統中的區域,我用Hammer.js處理觸摸事件。
因此,在頁面上,我有一個表單和一個提交按鈕。而在我的JS應用程序文件中,有到我的服務器檢查憑據的ajax請求。
雖然,它不起作用:我的表單不斷重新加載頁面,無論我做什麼。當它刷新窗口時,我的ajax請求沒有任何工作機會。
下面是HTML表單:
<div class="login-form-parent">
<div class="login-form">
<section>
<h2>Sign in to GraphiX Studios CPM</h2>
<form name="loginForm" id="login" method="post" submit="#" >
<fieldset>
<input type="text" name="login" id="loginEmail" placeholder="Username" autocapitalize="false" autocorrect="false" >
<input type="password" name="password" id="loginPass" placeholder="••••" >
<aside>
<label for="rememberLogin">Remember me</label>
<input type="checkbox" name="rememberLogin" id="rememberLogin" >
</aside>
<footer>
<input type="submit" name="submit" id="submitLogin" value="Login" >
</footer>
</fieldset>
</form>
</section>
</div>
</div>
兩個<div>
的<aside>
,<section>
和<footer>
標籤只是在這造型的目的。
這裏是JS代碼:
var loginEl = document.getElementById('submitLogin');
Hammer(loginEl, {tap_max_touchtime: 1000}).on("tap", loginFunctions);
function loginFunctions() {
var usernameValidation = $("input#loginEmail").val();
if (usernameValidation == "") {
$("#login_error").show();
$("input#login").focus();
return false;
}
var passwordValidation = $("input#loginPass").val();
if (passwordValidation == "") {
$("#password_error").show();
$("input#password").focus();
return false;
}
if (usernameValidation != "" && passwordValidation != "") {
$.submit(function() {
var username = $('#loginEmail').val();
var password = $('#loginPass').val();
$.ajax({
url: 'loginProcessing.php',
type: 'POST',
data: {
user: username,
pass: password
},
success: function(response) {
if(response == '1') {
// Success
alert('Success');
} else {
// Error
alert('Failed');
}
}
});
return false;
});
}
return false;
}
我不能調試我自己:我一直在嘗試了幾個小時不同的解決方案,我已經和谷歌堆棧溢出資源中搜索。
隨意清理或改善JS代碼。
該訣竅的開始!至少它沒有刷新頁面了。因爲它不再是一個提交按鈕,我不得不刪除'$ .submit(function(){' –