Jquery 带有验证的奇怪脚本结果

Jquery 带有验证的奇怪脚本结果,jquery,forms,validation,Jquery,Forms,Validation,我有一个很好用的脚本,但我有一个小问题 我刚刚在脚本中添加了: if (isError) { $('html, body').animate({ scrollTop: 0 }, 2500); } else { $("#error-div").hide(); } 现在我有一个问题。最后一个输入验证集$(“#input_1 input”)在我

我有一个很好用的脚本,但我有一个小问题

我刚刚在脚本中添加了:

        if (isError) {
            $('html, body').animate({
                scrollTop: 0
            }, 2500);
        } else {
            $("#error-div").hide();
        }   
现在我有一个问题。最后一个输入验证集$(“#input_1 input”)在我在输入中键入内容时隐藏了error div。所有其他输入都是红色的,背景发生了变化,但error div消失了——只有当我从#input1中删除错误时,它才是脚本中的最后一个错误

如果仅在该输入中没有错误,则最后一个输入将关闭div错误

我想不出来。任何建议都很好

$(function () {
$('#rbSubmit').formValidator({
    scope: '#form_register',
    onError: function () {
        var isError = false;
        if ($('#input_38 textarea').hasClass('error-input')) {
            isError = true;
            $('#r38 div').css('background-color', '#C1272D').css('color', '#FFF');
            $("#error-div").show();
        } else {
            $('#r38 div').css('background-color', '#2F2F2F');
            $("#error-div").hide();
        }
        if ($('#input_39 input').hasClass('error-input')) {
            isError = true;
            $('#r39 div, #r39 input').css('background-color', '#C1272D').css('color', '#FFF');
            $("#error-div").show();
        } else {
            $('#r39 div').css('background-color', '#2F2F2F');
            $("#error-div").hide();
        }



       // LAST DIV ALONE WILL TURN OFF THE div-error!!!  HELP!!!


        if ($('#input_1 input').hasClass('error-input')) {
            isError = true;
            $('#r1 div, #r1 input').css('background-color', '#C1272D').css('color', '#FFF');
            $("#error-div").show();
        } else {
            $('#r1 div').css('background-color', '#2F2F2F');
            $("#error-div").hide();
        }
        if (isError) {
            $('html, body').animate({
                scrollTop: 0
            }, 2500);
        } else {
            $("#error-div").hide();
        }
    }
});
});

试着给误差div一个高于其他输入的z指数:

请注意,您必须指定一个position属性。

为什么要执行$(“#error div”).show();和$(“#error div”).hide();在每个if-else块中?当然,如果检测到错误,您可以在最后执行:

if (isError) {
    $('html, body').animate({
        scrollTop: 0
    }, 2500);
    $("#error-div").show();
} else {
    $("#error-div").hide();
}

您使用什么jQuery插件进行验证?

这与z-index无关。您可以创建一个JSFIDLE吗?我考虑过,但它太长了。有没有办法使iError函数不受上次输入验证的影响?我可以把它放在哪里?if(iError){$('html,body').animate({scrollTop:0},2500);}else{$(“#error div”).hide()}我可以移动吗:if(iError){$('html,body').animate({scrollTop:0},2500);}else{$(“#error div”).hide()}到脚本中的另一个区域?