我爲電話號碼條目創建了一個Web用戶控件,其中包含3個用於區號,數字和擴展名的文本框。文本框位於表格中,用於定位,表格位於範圍內。在使用控件的頁面中,我有<asp:Label ID="Label6" runat="server" AssociatedControlID="uxPhoneNumber">Phone</asp:Label>
將焦點設置爲網頁用戶控件中的子項
我想要做的是將焦點設置爲單擊相關標籤時的區域代碼輸入。單擊標籤時Web用戶控件是否獲得焦點,還是可以更改ascx中的html,這樣可以工作?我曾嘗試將onfocus()
添加到<span>
標記和<table>
標記,以便我可以使用javascript設置焦點,但事件不會引發。如果我將onfocus()事件移動到它觸發的第一個輸入並且我的腳本運行
這是完整的ascx代碼。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PhoneNumber.ascx.cs" Inherits="CustomControls.PhoneNumber" %>
<span id="uxPhoneNumberControl" runat="server" style="display: inline-block;" onfocus="setInitialFocus()">
<asp:Table ID="uxPhoneNumberTable" runat="server">
<asp:TableRow runat="server">
<asp:TableCell runat="server">
<telerik:RadMaskedTextBox ID="uxAreaCode" runat="server" Columns="3" Mask="###" CssClass="span1" Skin="" MaxLength="3"></telerik:RadMaskedTextBox>
</asp:TableCell>
<asp:TableCell runat="server">
<telerik:RadMaskedTextBox ID="uxPhoneNumber" runat="server" Mask="###-####" Skin="" Columns="10" CssClass="input-mini" MaxLength="8"></telerik:RadMaskedTextBox>
</asp:TableCell>
<asp:TableCell runat="server">
<asp:Label ID="uxExtensionLabel" runat="server" Text="Ext." AssociatedControlID="uxExtension" CssClass="controls-label"></asp:Label>
</asp:TableCell>
<asp:TableCell runat="server">
<telerik:RadMaskedTextBox ID="uxExtension" runat="server" Columns="5" Mask="#####" Skin="" CssClass="span1"></telerik:RadMaskedTextBox>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
<asp:HiddenField ID="uxPhoneEntity" runat="server" />
</span>
當單擊跨度時會引發onclick事件,因此可以工作,但在單擊頁面中的關聯標籤時不會引發onclick事件。 – jac
@jac - 您是否也將點擊事件添加到標籤? –
不,我在單擊標籤時依賴於瀏覽器行爲,並且它與具有「AssociatedControlID」屬性的另一個控件相關聯。 – jac