Javascript js验证只运行一次
我在下面的代码中遇到了一个问题,如果我在其中输入了无效的电子邮件地址,它将在第一次正确显示注册警告警报,但是如果我关闭该框并尝试相同的无效电子邮件,它将不会弹出。有什么想法吗Javascript js验证只运行一次,javascript,jquery,validation,Javascript,Jquery,Validation,我在下面的代码中遇到了一个问题,如果我在其中输入了无效的电子邮件地址,它将在第一次正确显示注册警告警报,但是如果我关闭该框并尝试相同的无效电子邮件,它将不会弹出。有什么想法吗 $(document).ready(function() { //if submit button is clicked $('#submit_btn').click(function(e) { e.preventDefault(); var email = $('
$(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>
×
很抱歉您的电子邮件地址无效,请重试。
检查关闭警报时是否没有从DOM中删除元素
console.log($(“#注册警告”)在$(“#signUpWarning”).show()之前的code>代码>应该有助于确定是否发生了这种情况。您能给出popu框的代码吗?也许有什么不对劲?(这个代码对我来说很好)谢谢Mat,把它添加到帖子里了。奇怪的是,它会在第一次显示警报,而不是针对随后的无效条目。此外,在一个无效条目之后,它将正确地隐藏警告并显示成功警报。只是猜测一下,但可能是您关闭警报弹出窗口的方式导致它从DOM中删除,而不是隐藏它。考虑到你所说的,在一封不合适的电子邮件之后,在一封合适的电子邮件上显示成功。此外,在显示错误之前,您还可以通过洒一个console.log(“一些信息”)来测试此代码中是否存在问题。就我个人而言,我建议使用console.log($(“#signUpWarning”))来查看元素是否如您所期望的那样存在。很好的呼叫MushinNoShin,div在第一次开火后就消失了。警报有一个X来关闭它,我将检查它是否在div上执行.remove()。这正是它所做的。jquery/bootstrap使用.remove()来消除警报-使其无法访问以供将来使用。谢谢@MushinNoShin!是的,就是这样。我正在使用jquery/bootstrap,右上角要关闭的警报框的X与.remove而不是.hide绑定。谢谢@MushinNoShin!