0

こんにちは私はaspバリデーターがstyle="display:inline"を持っているかどうかをチェックするjqueryコードを持っています。持っている場合は、divであるエラーの親にエラークラスを追加します。

しかし、バリデーターが2つある場合、これは機能しません。何故ですか?これがコードです

////////// Add Error Class  ////////////////

addErrorClass: function (obj) {


    if ($(obj).parent().find('.errorMessage').parent().css("display") == "inline") {

        $(obj).parent().addClass("error");

    } else {
        $(obj).parent().removeClass("error");
    }


},

////////// Add Error Class /////////////

////////// Validate Form Fields /////////////


ValidateFF: function () {



    $('.required input').blur(function () {


        project.addErrorClass(this);
        if ($(".modal").length) {
            Spacedadi_UI.AdjustRadWindow();
        };

    });


    $('#btnSave').click(function () {

        $('.required input').each(function (index) {

            // Force ASP Validation before click event when using link buttons

            var cErrorID = $(this).parent().find("span").attr('id');
            ValidatorEnable(document.getElementById(cErrorID), true);

            project.addErrorClass(this);

            if ($(".modal").length) {
                project.AdjustRadWindow();
            };
        }); //end of click

        if ($(".modal").length) {
            project.AdjustRadWindow();
        };

    }); // end validate function

},
////////// Validate Form Fields /////////////

HTMLコード

                <div class="field required"><asp:Label ID="lbEmail" runat="server" CssClass="label" Text="Email" AssociatedControlID="tbEmail"></asp:Label>
            <asp:TextBox ID="tbEmail" runat="server"></asp:TextBox>

            <asp:RequiredFieldValidator ID="rfvEmail" runat="server" errorMessage="<span class='errorMessage'>Please enter an email address</span>"
                ControlToValidate="tbEmail" CssClass="" ValidationGroup="ValAddContact"
                Display="Dynamic"></asp:RequiredFieldValidator>

            <asp:RegularExpressionValidator ID="revtbEmail" runat="server" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
                ControlToValidate="tbEmail" errorMessage="<span class='errorMessage'>Invalid Email Format</span>" ValidationGroup="ValAddContact"
                CssClass=""></asp:RegularExpressionValidator>
        </div>

ありがとう

4

1 に答える 1

1

ASP.NETについてはよくわかりませんが、ページ上のHTMLを調べて、依存しているものの名​​前が変更されているかどうかを確認してみましたか?一意になるように、ASPの名前をIDと要素の名前に変更したことを覚えているようです。

find(...)の代わりに.hasClass('errorMessage')を使用することもできます。

そもそもボタンクリックイベントは実際に発生しますか?

于 2012-12-13T10:07:51.123 に答える