Snažím sa používať ajaxToolkit: TabContainer v modálnom vyskakovacom okne AJAX. Problém je v tom, že v prehliadači Internet Explorer 8 sa vyskytla chyba JavaScriptu. Pracuje v programe Internet Explorer 9 a vo Firefoxe!
htmlfile: Can"t move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.
I don "t dostať chybu, keď som zobraziť modálne popup v predvolenom nastavení, alebo ak som odstrániť všetky ajaxToolkit: TabPanel prvky v ajaxToolkit: TabContainer.
Existuje možnosť na TabContainer nejako nie je nastaviť zameranie?
Tu je príklad, ktorý možno použiť na reprodukciu problému s test.aspx
<asp:UpdatePanel ID="upSystem" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<h2>Test</h2>
<asp:Button ID="cmdPopup" runat="server" CssClass="button btn" Text="Neuen Eintrag erfassen" OnClick="CmdPopupOpen" />
<asp:Panel ID="panList" runat="server" CssClass="modalPopup" Width="500px">
<asp:UpdatePanel ID="upDetail" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:UpdatePanel ID="upData" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<br />
<div class="modal">
<div id="divHeader" runat="server" class="modal-header"><h2 class="messageboxh2">Task Messages</h2></div>
<div class="modal-body">
<asp:Label ID="Label1" runat="server" Text="Task Typ: " />
<asp:DropDownList ID="ddlTaskType" runat="server">
</asp:DropDownList>
<br /><br />
<ajaxToolkit:TabContainer ID="tConNew" runat="server" Height="150px"
>
<ajaxToolkit:TabPanel runat="server" ID="tPanInstant" HeaderText="Sofort" >
<ContentTemplate>
</ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>
</ContentTemplate>
</asp:UpdatePanel>
<div class="modal-footer">
<br/>
<asp:Button ID="cmdClose" runat="server" CssClass="btn" Text="Abbrechen" />
<asp:Button ID="cmdSave" runat="server" CssClass="btn" Text="Speichern" onclick="MpeSave" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="mdlPopup" runat="server"
TargetControlID="lblDummyUpload"
PopupControlId="panList"
BackgroundCssClass="modalBackground"
PopupDragHandleControlID="divHeader"
RepositionMode="None"
CancelControlID="cmdClose"
/>
<asp:Button id="lblDummyUpload" runat="server" style="display:none" />
</ContentTemplate>
</asp:UpdatePanel>
a test.aspx.cs
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void MpeSave(object sender, EventArgs e)
{
mdlPopup.Hide();
}
protected void CmdPopupOpen(object sender, EventArgs e)
{
mdlPopup.Show();
}
}
odpovede:
2 pre odpoveď č. 1Mohol by som "opraviť" chybu pomocou staršej verzie AJAX Control Toolkit, ako je tu navrhnuté: http://ajaxcontroltoolkit.codeplex.com/workitem/27051
0 pre odpoveď č. 2
Ako už bolo napísané, je to chyba v AjaxToolkit to self. Najnovšia verzia AjaxToolkit (september 2012) túto chybu neupravuje, preto počkajte na aktualizácie.
Stabilné vydanie AjaxToolkit bez tejto chyby je júl 2011.