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 在验证之前执行,所以 id 需要在 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 回答