2

市外局番、番号、および内線番号用の 3 つのテキスト ボックスがある電話番号入力用の Web ユーザー コントロールを作成しました。テキスト ボックスは配置用のテーブル内にあり、テーブルはスパン内にあります。私が持っているコントロールを使用するページで<asp:Label ID="Label6" runat="server" AssociatedControlID="uxPhoneNumber">Phone</asp:Label>

私がやりたいことは、関連付けられたラベルがクリックされたときに、市外局番入力にフォーカスを設定することです。ラベルがクリックされたときに Web ユーザー コントロールにフォーカスがありますか、それとも ascx の html を変更してこれが機能するようにすることはできますか? タグとタグに追加しようとonfocus()したので、javascriptを使用してフォーカスを設定できますが、イベントは発生しません。onfocus() イベントを最初の入力に移動すると、イベントが発生し、スクリプトが実行されます<span><table>

完全な 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>
4

2 に答える 2

0

関数setInitialFocus()は次のようになります。

function setInitialFocus()
{
    var area = document.getElementById("<%=uxAreaCode.ClientID%>");
    area.focus();
    return true;
}

これにより、オブジェクトの位置が特定uxAreaCodeされ、強制的にフォーカスされます。

于 2013-07-31T21:10:52.037 に答える