[英]seems that login-page is reloading after false form-validation
我正在更改登錄頁面,並將帶有表單驗證的jQuery放在單獨的文件中,而不是放在頁面本身上。
$(document).ready(function(){
$("#confirm").on("click", function(e){
e.PreventDefault();
var check = true;
var empty_fields = ['name','password'];
for (i=0; i<empty_fields.length; i++) {
var $field = $('#'+empty_fields[i]);
if ($.trim($field.val()) == '') {
$field.addClass('error');
check = false;
}
else {
$field.removeClass('error');
}
}
if (check == true)
{
$.ajax({
type: 'POST',
url: 'PHPCalls.php?CallID=Login',
data: $("#loginform").serialize(),
success: function(data) {
var result = $.trim(data);
if(result == 'true') {
alert('succeeded');
}
}
});
}
});
});
在我檢查輸入是否為空的那一部分之前是登錄頁面本身,並且工作正常。 我用onclick =“ return check_form();”來調用它 然后返回值“ check”為true或false。
由於我已將此腳本放在單獨的文件中,因此頁面似乎正在重新加載自身。 當我單擊確認按鈕時,輸入框得到了錯誤布局,但是頁面閃爍並且所有設置都恢復為正常...我不知道發生了什么...
有人可以讓我走上正確的路嗎?
這是登錄頁面的一部分
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="js/ajaxLogin.js"></script>
<script type="text/javascript" src="js/sha512.js"></script>
<script type="text/javascript" src="js/forms.js"></script>
</head>
<body>
<form name="loginform" class="loginform" action="#" method="post">
<input type="text" name="name" id="name" class="input username" placeholder="Name" onfocus="this.value=''" />
<input type="password" name="password" id="password" class="input password" placeholder="Wachtwoord" onfocus="this.value=''" />
<input type="submit" id="confirm" value="Login" class="button" />
</form>
</body>
解決方案:添加PreventDefault()並刪除formhash()
如果檢查,則需要返回false! =真
if (check == true)
{
$.ajax({
type: 'POST',
url: 'PHPCalls.php?CallID=Login',
data: $("#loginform").serialize(),
success: function(data) {
var result = $.trim(data);
if(result == 'true') {
alert('succeeded');
}
}
});
}
else
{
return false;
}
嘗試這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.