【问题标题】:Setting focus on a text box on page load在页面加载时将焦点设置在文本框上
【发布时间】:2011-11-13 01:29:46
【问题描述】:

How do you automatically set the focus to a textbox when a web page loads?中的信息我已经试过了

 <asp:TextBox ID="tbSearchLastName" runat="server" style="float:right" CssClass="search" tabindex="1" meta:resourcekey="tbSearchLastNameResource" />

                        <script type="text/javascript">
                            window.onload = function () {
                                document.getElementById("tbSearchLastName").focus();
                            };
                        </script>

我希望页面加载时页面焦点位于文本框上,但出现错误:

“无法获取属性'focus'的值:对象为空或未定义”

谢谢。

【问题讨论】:

  • 只是好奇,你只是碰巧在 IE 中遇到这个问题吗?
  • 乔纳森,我很好奇它是否适用于 FF。 IE 和 FF 在确定页面加载与 dom 加载的方式上的工作方式不同。通常,当人们遇到这些问题时,是因为他们试图找到一个存在的对象,只是还没有。
  • 这个解决方案也适用于 FF。
  • 不是解决方案,我确信它适用于大多数浏览器。我很好奇您的问题是否仅在 IE 中。
  • 是的,我的问题只在 IE 中

标签: c# javascript asp.net html


【解决方案1】:

你必须这样做......

document.getElementById('<%= tbSearchLastName.ClientID%>').focus();

【讨论】:

    【解决方案2】:

    您为 TextBox(或任何 .NET 控件,就此而言)提供的 ID 与在 HTML 中呈现的 ID 不同。要获得正确的 ID,您需要执行以下操作:

     document.getElementById("<%=tbSearchLastName.ClientID %>")
    

    或者,如果您使用 .NET 4,you can force it to keep the same ID

     <asp:TextBox ID="tbSearchLastName" ClientIDMode="Static" runat="server"/>
    

    【讨论】:

      【解决方案3】:

      检查您的页面来源(在浏览器中)tbSearchLastName 的真实 ID 是什么。可能是没有加载或已更改

      【讨论】:

        【解决方案4】:

        你为什么不把tbSearchLastName.Focus()放在page_load方法后面的代码里?

        http://msdn.microsoft.com/en-us/library/system.web.ui.control.focus.aspx

        【讨论】:

        • 这在我的应用程序中不起作用。我试过了,即使它应该工作它也没有。
        【解决方案5】:
        protected void Page_Load(object sender, EventArgs e)
        {
            Form.DefaultFocus = "tbSearchLastName";
        }
        

        【讨论】:

          【解决方案6】:
          protected void Page_Load(object sender,EventArgs e){
          tbSearchLastName.focus();
          }
          

          你可以在 aspx.cs 文件上试试这个,简单优雅

          【讨论】:

            猜你喜欢
            • 2011-03-23
            • 2011-02-12
            • 1970-01-01
            • 2014-03-26
            • 2016-05-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多