Jquery表单验证,focusout事件仅第一次工作

Jquery表单验证,focusout事件仅第一次工作,jquery,css,validation,Jquery,Css,Validation,我想使用jquery立即验证表单。实际上,验证发生在焦点输出之后。但是,验证只针对第一个focus out事件进行,而不针对下一个focus out事件。 这是我的链接。 我想对每一个focusout事件进行验证,请帮助。。。短暂性脑缺血发作 $(document).ready(function() { $('#emailid').focusout(function() { var emailCheck = $(this).val(); if ($.trim(emailCheck

我想使用jquery立即验证表单。实际上,验证发生在焦点输出之后。但是,验证只针对第一个focus out事件进行,而不针对下一个focus out事件。 这是我的链接。 我想对每一个focusout事件进行验证,请帮助。。。短暂性脑缺血发作

$(document).ready(function() {
$('#emailid').focusout(function() {
    var emailCheck = $(this).val();
    if ($.trim(emailCheck).length == 0) {
        $(".validation-error").toggleClass("visible").delay(3000).fadeOut(900);
    }
    if (validateEmail(emailCheck)) {
        $(".validation-success").toggleClass("visible").delay(3000).fadeOut(900);
    }
    else {
        $(".validation-error").toggleClass("visible").delay(3000).fadeOut(900);
    }
});
});

function validateEmail(emailCheck) {
var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (filter.test(emailCheck)) {
    return true;
}
else {
    return false;
}

}

我认为这部分应该重写如下。 否则,如果你犯了一个错误,并在以后纠正它,你的错误信息不会总是消失

if ($.trim(emailCheck).length == 0) {
    $(".validation-error").addClass("visible").delay(3000).fadeOut(900);
} else {
    $(".validation-error").removeClass("visible");
}

if (validateEmail(emailCheck)) {
    $(".validation-success").addClass("visible").delay(3000).fadeOut(900);
    $(".validation-error").removeClass("visible");
}
else {
    $(".validation-error").addClass("visible").delay(3000).fadeOut(900);
    $(".validation-success").removeClass("visible");
}

阅读toggleClass的功能


淡出检查验证错误元素的样式后

您是否解决了问题?