0

我正在尝试使用 registerStartupScript 方法将焦点设置到页面控件(文本框)。然而,我一直没有成功。这是我尝试过的:

ClientScript.RegisterStartupScript(this.GetType(), "SetFocus", "<script>document.getElementById('" + this.tbAdjust.ClientID + "').focus();</script>");

和:

ClientScript.RegisterStartupScript(GetType(), "focus", "<script>$('" + this.tbAdjust.ClientID + "');</script>");

好像拿不到 似乎是一个非常直截了当的问题,如果你们都需要更多代码,请告诉我。提前感谢您的帮助!

4

3 回答 3

4

通常tbAdjust.Focus();在后面的代码应该可以工作。这是脚本。

没有阿贾克斯

ClientScript.RegisterStartupScript(this.GetType(), "focus", 
"document.getElementById('" + this.tbAdjust.ClientID + "').focus();", true);

与阿贾克斯

ScriptManager.RegisterStartupScript(Page, Page.GetType(), "focus", 
"document.getElementById('" + this.tbAdjust.ClientID + "').focus();", true);

如果你想使用jQuery,你需要在前面加上#。

例如, "$('#" + this.tbAdjust.ClientID + "').focus();"

于 2013-04-15T18:30:09.373 回答
0

jQuery 的 .ready() 方法不起作用吗?

$(document).ready(function() {
    $('#target').focus();
});
于 2013-04-15T18:19:38.347 回答
0

尝试 Page.RegisterClientScriptBlock 代替:

Page.RegisterClientScriptBlock("SetFocus", "<script>document.getElementById('" + this.tbAdjust.ClientID + "').focus();</script>");
于 2013-04-15T19:34:19.040 回答