读书人

文本页面中焦点的控制

发布时间: 2012-06-03 16:59:40 作者: rapoo

【求助】文本页面中,焦点的控制
要实现的要求,
第一步,TextBox内输入文本后,回车,可以执行 Button1的Click事件
第二步,Button1的Click事件完成后,Web的焦点反馈TextBox

目前,第一步已经实现
实现原理,TextBox内回车的时候,焦点设定为Button1
问题,第二步怎么实现
不知道,请各位帮忙,感谢

-------------------------

第一步实现的具体方法

1:加javascript语句如下
<script type ="text/javascript" >
function SetKeyFocus(str1)
{
if(event.keyCode==13)
{
var a;
a=str1;
eval("window.document.form1."+a+".focus();");
}
}
</script>


2:TextBox控件事件增加如下

<asp:TextBox ID="tbAppName" runat="server" onkeydown="SetKeyFocus('btnAppAdd');" ></asp:TextBox>

[解决办法]
Button1是个服务器控件吗?
如果是,那么在
Button1的Click事件 里面,
tbAppName.Focus();即可将光标移动到tbAppName上

如果是html button 那么onclick时间里面 "document.getElementById('tbAppName').focus()"
即可

[解决办法]
你要是在服务器控件里实现,因为Button要提交的,可以这样写
protected void Button1_Click(object sender, EventArgs e)
{
form1.DefaultFocus = "tbAppName";
}

例子
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

protected void Button1_Click(object sender, EventArgs e)
{
form1.DefaultFocus = "TextBox2";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="点击提交,将焦点定位在 TextBox2 上" OnClick="Button1_Click"
Style="height: 21px" />
</form>
</body>
</html>
[解决办法]
直接拷贝执行这个例子
你就明白了

HTML code
<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">  protected void Button1_Click(object sender, EventArgs e)  {    form1.DefaultFocus = "TextBox2";  }</script><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">  <title></title>  <script>alert("这个只弹出一次,如果弹出多次,页面就是刷新了。")</script></head><body>  <form id="form1" runat="server">  <asp:ScriptManager ID="ScriptManager1" runat="server">  </asp:ScriptManager>  <asp:UpdatePanel ID="UpdatePanel1" runat="server">    <ContentTemplate>    TextBox1:<asp:TextBox ID="TextBox1" runat="server">    </asp:TextBox>    <br />    TextBox2:<asp:TextBox ID="TextBox2" runat="server">    </asp:TextBox>    <asp:Button ID="Button1" runat="server" Text="点击提交,将焦点定位在 TextBox2 上" OnClick="Button1_Click"      Style="height: 21px" />    </ContentTemplate>  </asp:UpdatePanel>  </form></body></html> 


[解决办法]
<script type ="text/javascript" >
function SetKeyFocus(str1)
{
if(event.keyCode==13)
{
var a;
a=str1;
eval("window.document.form1."+a+".focus();");
}
}
document.getElementById("文本框ID").focus()
</script>

读书人网 >asp.net

热点推荐