如何使页面中的控件获取输入焦点?

ssunday 2003-07-24 04:29:09
我记得在winForm中这是很容易的,因为每个控件都有一个Focus()方法,可是在ASP.NET中,我就是找不到这个方法,现在我想指定页面上某个TextBox获得输入焦点,应该怎么做呢?
...全文
97 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aaron_Lau 2003-07-24
  • 打赏
  • 举报
回复
<script>
var flag = true ;
window.document.all.item('aaronlau').focus() ;
function setFocus()
{
if(flag)
window.document.all.item('aaronlau').focus() ;
}
flag = false ;
</script>
try this.
ssunday 2003-07-24
  • 打赏
  • 举报
回复
感谢各位,用hgknight(江雨.net)后来提供的方法终于解决了,谢谢~~结贴啦
hgknight 2003-07-24
  • 打赏
  • 举报
回复
Response是不行,我已经给了另一个解决办法了
ssunday 2003-07-24
  • 打赏
  • 举报
回复
to hgknight(江雨.net):
用你的方法不行啊,我检查了一下,用Response.Write的话,script段会被写在整个文件的一开头,而不是在<body></body>中,而我把那段script语句复制粘贴到<body></body>中的话就行了,但问题是这样不能实现在程序中控制焦点的转移啊,怎么办呢?


to Aaron_Lau(根本英俊):
用你的方法是可以设置焦点了,但发现焦点不能移开了,焦点被定死在那个textBox中了!
hgknight 2003-07-24
  • 打赏
  • 举报
回复
不好意思,没有经过测试
试了一下,应该这样就可以在后台写代码了

在</form>前加一个Literal 控件
<asp:Literal id="Literal1" runat="server"></asp:Literal>
在后台
Literal1.Text="<script>document.all.TextBox1.focus();</script>";
ruyedian 2003-07-24
  • 打赏
  • 举报
回复
我的我自己试过了能行的啊。
hgknight 2003-07-24
  • 打赏
  • 举报
回复
try it
Response.Write("<script>document.all.txtProductCode.focus();</script>");
Aaron_Lau 2003-07-24
  • 打赏
  • 举报
回复
你把这句话写在<body></body>的最底部。
<script>
window.document.all.item('yourcontrol').focus() ;
function setFocus()
{
window.document.all.item('yourcontrol').focus() ;
}
</script>
在cs代码中Load事件中写入下面的代码。

this.yourcontrol.Attributes.Add("onblur", "setFocus();") ;
river168 2003-07-24
  • 打赏
  • 举报
回复
应该是NAME吧.

客户端如下:
<form name="Form1" method="post" action="index.aspx" id="Form1">
<input name="tb_add_street" type="text" maxlength="30" id="tb_add_street" class="input_b" /></td>
JS代码就应该是: <script language="javascript">document.Form1.tb_add_street.focus();</script>
ssunday 2003-07-24
  • 打赏
  • 举报
回复
各位大哥,不行啊,我按照 hgknight(江雨.net) 的方法,这样写:
Response.Write("<script>window.document.forms[0].txtProductCode.focus();</script>");
但是运行时出错,说document.forms.0.txtProductCode为空或不是对象啊,怎么办?
我的textBox都是服务器控件,有关系吗?
还有 xjtufb(无迹) 兄说的“控件在客户端的名称”是什么意思?不是id吗?
xjtufb 2003-07-24
  • 打赏
  • 举报
回复
en,可以通过js来写

如 document.FormName.Name.focus();

其中Name是你的控件在客户端的名称
FormName是Form的name属性

通过这种可以获得空间的输入焦点
hgknight 2003-07-24
  • 打赏
  • 举报
回复
Response.Write("<script>window.document.forms[0].textbox1.focus();</script>");
xn127 2003-07-24
  • 打赏
  • 举报
回复
要用JS写脚本来触发.
ruyedian 2003-07-24
  • 打赏
  • 举报
回复
<Body OnLoad="Document.All('TextBoxName').Focus">
lansluo 2003-07-24
  • 打赏
  • 举报
回复
一样的
你可以在页面用js写setfocus方法。

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧