求助 aps.net+Vb.net中输入焦点问题(100分)

  • 主题发起人 主题发起人 cychun
  • 开始时间 开始时间
C

cychun

Unregistered / Unconfirmed
GUEST, unregistred user!
在asp.net+vb.net下 想要输入焦点转到textbox2 但用textbox2.setfocus()不行 请问用什么语句能实现 .谢谢!!!!
 
前台脚本
Document.all.textbox2.focus();
 
我是这样实现的。在aspx文件中的HTML代码:
<asp:textbox id=&quot;TextBox1&quot;
runat=&quot;server&quot;
Width=&quot;300&quot;></asp:textbox>
/*注意id的设置*/
在aspx.cs中的代码:(主要是写JAVA语句到客户端浏览器)
private void Page_Load(object sender, System.EventArgs e)
{
SetFocus(TextBox1);
}
public static void SetFocus(Control control)
{
StringBuilder sb = new StringBuilder();

sb.Append(&quot;/r/n<script language='JavaScript'>/r/n&quot;);
sb.Append(&quot;<!--/r/n&quot;);
sb.Append(&quot;function SetFocus()/r/n&quot;);
sb.Append(&quot;{/r/n&quot;);
sb.Append(&quot;/tdocument.&quot;);

Control p = control.Parent;
while (!(p is System.Web.UI.HtmlControls.HtmlForm)) p = p.Parent;

sb.Append(p.ClientID);
sb.Append(&quot;['&quot;);
sb.Append(control.UniqueID);
sb.Append(&quot;'].focus();/r/n&quot;);
sb.Append(&quot;}/r/n&quot;);
sb.Append(&quot;window.onload = SetFocus;/r/n&quot;);
sb.Append(&quot;// -->/r/n&quot;);
sb.Append(&quot;</script>&quot;);

control.Page.RegisterClientScriptBlock(&quot;SetFocus&quot;, sb.ToString());
}
给分吧。
 
上面的代码可以实现任意对象的焦点设定,只要调用SetFocus函数即可,参数是对象的ID。
 
其实很简单的,只是在按钮中加入以下函数即可了。
脚本函数:
<script language=javascript>
function settextboxfucos(frm)
{
do
cument.all.TexbBox1.focus();
return true;
}
</script>
假设按钮名称为 Button1
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
this.Button1.Attributes[&quot;onclick&quot;]=&quot;return settextboxfucos(this.form);&quot;;
.............
}
}
这种方法也可以用于录入数据的效验。在客户端校验的,比 .NET 的校验要好得多。
 
这两段代码给的不错,学习了!
 
多人接受答案了。
 
后退
顶部