-2

うまく機能するスクリプトがありますが、小さな問題が 1 つあります。

スクリプトに次のように追加しました。

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

今、私は問題を抱えています。入力に何かを入力すると、最後の入力検証セット $('#input_1 input') が error-div を隠しています。他のすべての入力は背景が変更された赤ですが、エラー div は消えます - スクリプトの最後のエラーである #input1 からエラーを削除した場合のみです。

その入力のみにエラーがない場合、最後の入力はdiv-errorをオフにします。

それを理解することはできません。どんな提案も素晴らしいでしょう。

$(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();
        }
    }
});
});

</p>

4

2 に答える 2

0

error-div に、他の入力よりも高い z-index を指定してみてください。

http://coding.smashingmagazine.com/2009/09/15/the-z-index-css-property-a-comprehensive-look/

position プロパティを指定する必要があることに注意してください。

于 2012-04-18T22:21:53.080 に答える
0

なぜ $("#error-div").show(); を実行しているのですか? および $("#error-div").hide(); if else ブロックのそれぞれの中で?エラーが検出された場合は、最後に実行できます。

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

検証に使用している jQuery プラグインは何ですか?

于 2012-04-18T22:34:14.963 に答える