我有一个带有少量文本框的网页表单,下拉列表,最后到页面末尾是4个自定义ajax编辑器。因此,在页面加载时,焦点始终位于最后一个编辑器内,并且它无法进入第一个文本框或页面顶部。在每个页面加载时,光标进入最后一个编辑器控件。如何将焦点置于第一个文本框内? 以下是我尝试的几种方法
1.<body onload="document.body.scrollTop = 0;">
2. void Page_Init(object sender, EventArgs e)
{
SetFocus(txtReqtitle);
}
对于上面加载页面时,我可以看到焦点转到所需的文本框,然后它进入最后一个自定义控件。
3. if(!Page.ClientScript.IsStartupScriptRegistered("scrFocus"))
{
string strScript="var txtBox=document.getElementById('" + txtReqtitle.ClientID.ToString() +"');txtBox.focus();";
ClientScript.RegisterStartupScript(this.GetType(),"scrFocus", strScript,true);
}
4
function setFocus() {
document.getElementById("txtReqtitle").focus();
}
5. ScriptManager.GetCurrent(this.Page).SetFocus(txtReqtitle);
有什么想法吗?感谢..
答案 0 :(得分:0)
由于ajax编辑器,似乎focus属性在load事件中不起作用
请在Page Prerendercomplete()事件中添加txtReqtitle.Focus()并告诉我它是否有效
答案 1 :(得分:0)
找到了对我有用的解决方案。想分享它..它的简单..只是让控件的autofocus = false。
答案 2 :(得分:-1)
使用jquery
$(document).ready(function(){
$('#<%= txtReqtitle.ClientID %>').focus();
});