2
我在下面那裏,如果我在它把一個無效的電子郵件地址會正確顯示signUpWarning提醒第一次,但代碼中的問題
,如果我關閉該對話框,並嘗試在同一無效的電子郵件它將不會彈出。有任何想法嗎?JS驗證只運行一次
$(document).ready(function() {
//if submit button is clicked
$('#submit_btn').click(function(e) {
e.preventDefault();
var email = $('#email').val();
if (!is_valid_email(email)){
$("#signUpWarning").show();
}else{
$.ajax({
url: "process.php",
type: "post",
data: "email=" + email,
success: function() {
$("#signUpWarning").hide();
$("#signUpAlert").show();
}
});
}
});
});
function is_valid_email (email)
{
return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}
的警告框的代碼是:
<div class="alert alert-block alert-error hide" id="signUpWarning"><!--Use: $("#signUpWarning").show(); to show this alert-->
<a class="close" data-dismiss="alert">×</a>
<h5 class="alert-heading">Sorry!</h5> Your e-mail address was not valid, please try again.
</div>
你可以給popu框的代碼?那裏可能有問題..? (這段代碼對我來說看起來很好) – Mat
感謝Mat,把它添加到了帖子中。奇怪的是,它會首次顯示警報,而不是隨後的無效輸入。另外,在一次無效輸入後,它會正確隱藏警告並顯示成功警報。 – dyonak
只是一個猜測,但也許你如何關閉警報彈出窗口導致它從DOM中刪除而不是隱藏它。考慮到你說它在不適當的電子郵件後顯示正確的電子郵件成功。此外,您可以在顯示錯誤之前通過灑一個console.log(「一些有用的信息」)來測試問題是否出現在此代碼中。我個人建議使用console.log($(「#signUpWarning」))來查看元素是否存在,就像你期望的那樣。 – MushinNoShin