将重点放在文本框弹出的asp.net上

时间:2010-10-01 09:28:25

标签: javascript asp.net focus

如何在弹出窗口(模态)中将焦点设置在第一个文本框控件上?这是一个登录窗口。 我试过javascript,但那次失败了。

5 个答案:

答案 0 :(得分:3)

尝试AjaxControlToolkit.Utility.SetFocusOnLoad(YouTextBoxID);

答案 1 :(得分:2)

以下是样本

在MARKUP中:

    <asp:ModalPopupExtender runat="server" BehaviorID="UserSearchModalBehavior" ID="mpeSearch" PopupControlID="pUserSearch" TargetControlID="btnFindUser"
    OkControlID="btnUserSearchClose" CancelControlID="ibClose" />

在JavaScript中:

<script language="javascript" type="text/javascript">

    function pageLoad() {
        var modalPopup = $find("UserSearchModalBehavior");
        if (modalPopup != null) {
            modalPopup.add_shown(OnPopupShow);                
        }
    }

    function OnPopupShow() {
        var tb = $get("tbSearchQuery");
        tb.focus();
    }

</script> 

答案 2 :(得分:1)

body onload您可以添加一些javascript。并将焦点设置为您想要的文本框

E.g:

<script type="text/javascript">
            function setFocus() {
                document.getElementById('TextBox2').focus();
            }
        </script>


<body  onload="setFocus();">
    <form id="form1" runat="server">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick='ani1();' />
    </form>
</body>

TextBox2一旦加载页面就会聚焦

答案 3 :(得分:1)

只需在ASP.NET页面的focus()事件中使用onload来声明TextBox:

<body onload="document.getElementById('<%= yourTextBoxID.ClientID %>').focus();"></body>

您可以将<body>标记与内容占位符或表单一起使用。

答案 4 :(得分:1)

如果你想从js调用弹出窗口,请使用:

function openPopup() {
    $find('BehaviorID_of_your_popup').show();
    document.getElementById('<%= theTextBox.ClientID %>').focus();
}

如果你想从服务器端调用它,这应该有效:

protected void btnShow_Click(object sender, EventArgs e)
{
    popup.Show();
    theTextBox.Focus();
}