我正在尝试使用registerStartupScript方法将焦点设置为页面控件(Textbox)。但是,我没有成功。这是我尝试过的:
ClientScript.RegisterStartupScript(this.GetType(), "SetFocus", "<script>document.getElementById('" + this.tbAdjust.ClientID + "').focus();</script>");
并且:
ClientScript.RegisterStartupScript(GetType(), "focus", "<script>$('" + this.tbAdjust.ClientID + "');</script>");
似乎无法得到它。看起来像一个非常直截了当的问题,如果你们都需要更多代码,请告诉我。在此先感谢您的帮助!
答案 0 :(得分: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();"
答案 1 :(得分:0)
jQuery的.ready()方法不起作用吗?
$(document).ready(function() {
$('#target').focus();
});
答案 2 :(得分:0)
尝试使用Page.RegisterClientScriptBlock:
Page.RegisterClientScriptBlock("SetFocus", "<script>document.getElementById('" + this.tbAdjust.ClientID + "').focus();</script>");