js验证只运行一次

时间:2012-09-23 21:28:50

标签: javascript jquery validation

我遇到以下代码的问题,如果我在其中放入无效的电子邮件地址,则会在第一时间正确显示signUpWarning警报,但如果我关闭该框并尝试使用相同的无效电子邮件则不会弹回起来。有什么想法吗?

    $(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>&nbsp;Your e-mail address was not valid, please try again.
  </div>

1 个答案:

答案 0 :(得分:1)

关闭警报时,请检查您是否从DOM中删除了该元素。

console.log($("#signUpWarning"));之前

$("#signUpWarning").show();应该有助于确定这是不是正在发生的事情。