1

我有一个带有几个文本框、下拉菜单的 Web 表单,最后在页面末尾是 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);

有任何想法吗?谢谢..

4

3 回答 3

0

由于 ajax 编辑器,似乎焦点属性在加载事件中不起作用

请在 Page Prerendercomplete() 事件中添加 txtReqtitle.Focus() 并让我知道它是否有效

于 2012-11-08T00:31:51.280 回答
0

found the solution which worked for me .would like to share it .. its simple ..just make the autofocus=false for the control.

于 2012-11-14T22:01:48.393 回答
-1

使用 jQuery

$(document).ready(function(){
    $('#<%= txtReqtitle.ClientID %>').focus();
});
于 2012-11-08T00:31:34.120 回答