使用RequiredFieldValidator和javascript

Zar*_*ney 1 javascript asp.net validation requiredfieldvalidator

我有多个RequiredFieldValidator,例如:

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtbox1" 
            Display="Dynamic" ErrorMessage="Required Field" SetFocusOnError="True" 
            ValidationGroup="validator1" CssClass="validator" />
Run Code Online (Sandbox Code Playgroud)

链接到此按钮:

<asp:LinkButton runat="server" ID="btnNext1" Text="Next Page" CssClass="btn" ValidationGroup="validator1" />
Run Code Online (Sandbox Code Playgroud)

随着一些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>
Run Code Online (Sandbox Code Playgroud)

但是javascript在验证之前执行,因此id需要在javascript 之前执行验证

Jup*_*aol 7

如果我的理解是正确的,您需要在执行javascript代码之前验证您的表单

尝试这样的事情:

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

(可选)如果要指定自定义ValidationGroup,可以使用以下代码:

Page_ClientValidate('your group name');
Run Code Online (Sandbox Code Playgroud)