2013-03-16 50 views
0

我有第二和第三ajax手風琴面板中的必填字段。我在我的必填字段驗證器上設置了setfocus = true,相應的面板不會自動打開。如果需要,擴展Ajax accordion窗格字段驗證失敗?

有沒有辦法讓我打開面板,下一個必填字段的位置?

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
    <asp:Accordion 
     ID="Accordion1" 
     runat="server"> 

    <Panes > 
    <asp:AccordionPane runat="server" > 
    <Header>General Information </Header> 
    <content> 
    <asp:textbox id="textbox1" runat="server"/> 
    </content> 
    </asp:AccordionPane> 
    <asp:AccordionPane runat="server" > 
    <Header>Other Information </Header> 
    <content> 
    <asp:textbox id="textbox2" runat="server"/> 
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" SetFocusOnError="true" runat="server" 
      ErrorMessage="error on textbox 2" ControlToValidate="textbox2" ForeColor= "Red" ValidationGroup="main">*</asp:RequiredFieldValidator> 
    </content> 
    </asp:AccordionPane> 
<asp:AccordionPane runat="server" > 
    <Header>More Information </Header> 
    <content> 
    <asp:textbox id="textbox3" runat="server"/> 
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" SetFocusOnError="true" runat="server" 
      ErrorMessage="error on textbox 3" ControlToValidate="textbox3" ForeColor= "Red" ValidationGroup="main">*</asp:RequiredFieldValidator> 
    </content> 
    </asp:AccordionPane> 
    </asp:accordion> 
    //the rest of the code here 
    //i typed this up, so please forgive if not everything is case sensitive 
在這種情況下

,如果我在第一個窗格,並點擊「確認」按鈕,所需的字段是在第二和第三窗格。驗證確實失敗,就像它應該那樣,但用戶不會被帶到textbox2或textox3(它們是空的)。我如何編碼它,以便在驗證失敗時自動將焦點設置爲下一個失敗的文本框?它確實工作,如果我已經有窗格2打開時,我點擊「驗證」按鈕,在這種情況下焦點設置爲textbox2。但是再次,如果我把一些東西放在textbox2並再次驗證,textbox3失敗,但焦點沒有設置。

希望這是有道理的。

+0

什麼jQueryUI的版本,您正在使用? – 2013-03-16 00:52:10

+0

http://code.jquery.com/ui/1.10.1/jquery-ui.js – 2013-03-16 00:53:33

+1

你可以發佈你的代碼,並解釋更多你想完成什麼? – 2013-03-16 00:59:45

回答

相關問題