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

私のために働いた解決策を見つけました.それを共有したいと思います..その単純な..コントロールのautofocus = falseを作成するだけです。

于 2012-11-14T22:01:48.393 に答える
-1

jqueryを使用する

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