2

我在下面的代码中遇到问题,如果我在其中输入了无效的电子邮件地址,它将第一次正确显示 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>
4

1 回答 1

1

检查您在关闭警报时是否没有从 DOM 中删除元素。

console.log($("#signUpWarning"));之前$("#signUpWarning").show();应该有助于确定是否发生了这种情况。

于 2012-09-24T01:13:38.557 回答