2

次のような RequiredFieldValidator が複数あります。

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtbox1" 
            Display="Dynamic" ErrorMessage="Required Field" SetFocusOnError="True" 
            ValidationGroup="validator1" CssClass="validator" />

このボタンにリンク:

<asp:LinkButton runat="server" ID="btnNext1" Text="Next Page" CssClass="btn" ValidationGroup="validator1" />

いくつかのJavaScriptとともに:

<script type="text/javascript">
$(function() {
    function nextPage1() {

        $( "#divFirstPage" ).hide("fade");
        $( "#divSecondPage" ).show("fade");
        $( "#<%=btnNext1.ClientID%>" ).hide();
        $( "#<%=btnNext2.ClientID%>" ).show();
        $( "#<%=btnPrevious1.ClientID%>" ).show();
    };
    $( "#<%=btnNext1.ClientID%>" ).click(function() {
        nextPage1();
        return false;
    });
    $( "#divSecondPage" ).hide();
    $( "#divThirdPage" ).hide();
    $( "#<%=btnNext2.ClientID%>" ).hide();
    $( "#<%=btnPrevious1.ClientID%>" ).hide();
    $( "#<%=btnPrevious2.ClientID%>" ).hide();
});
</script>

ただし、JavaScript は検証の前に実行されるため、JavaScriptのに検証を実行する必要があります。

4

1 に答える 1

7

私の理解が正しければ、JavaScriptコードを実行する前にフォームを検証する必要があります

次のようなものを試してください。

$( "#<%=btnNext1.ClientID%>" ).click(function() {
    var val = Page_ClientValidate();
    if(!val) {
        return false;
    }
    nextPage1();
    return true;
});

オプションで、カスタムを指定するValidationGroup場合は、次のコードを使用できます。

Page_ClientValidate('your group name');
于 2012-07-18T19:04:12.883 に答える