[英]Setting focus on a text box on page load
我已经尝试过如何在网页加载时自动将焦点设置为文本框中的信息?
<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>
我希望页面加载时页面焦点位于文本框上,但我收到错误:
“无法获得属性'焦点'的值:对象为null或未定义”
谢谢。
你必须这样做......
document.getElementById('<%= tbSearchLastName.ClientID%>').focus();
您为TextBox(或任何.NET控件)提供的ID与在HTML中呈现的ID不同。 要获得正确的ID,您需要执行以下操作:
document.getElementById("<%=tbSearchLastName.ClientID %>")
或者,如果您使用的是.NET 4,则可以强制它保持相同的ID
<asp:TextBox ID="tbSearchLastName" ClientIDMode="Static" runat="server"/>
检查页面的来源(在浏览器中)tbSearchLastName的真实ID是什么。 可能它没有加载或已被更改
为什么不把tbSearchLastName.Focus()
放在page_load方法后面的代码中?
http://msdn.microsoft.com/en-us/library/system.web.ui.control.focus.aspx
protected void Page_Load(object sender, EventArgs e)
{
Form.DefaultFocus = "tbSearchLastName";
}
protected void Page_Load(object sender,EventArgs e){
tbSearchLastName.focus();
}
你可以在aspx.cs文件上试试这个,它简单而优雅
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.