我有第二和第三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失敗,但焦點沒有設置。
希望這是有道理的。
什麼jQueryUI的版本,您正在使用? – 2013-03-16 00:52:10
http://code.jquery.com/ui/1.10.1/jquery-ui.js – 2013-03-16 00:53:33
你可以發佈你的代碼,並解釋更多你想完成什麼? – 2013-03-16 00:59:45