本文主要是介绍通过回车键使得光标自动跳转,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如何在文本框中按回车键,光标自动跳转到下一个文本输入框或者是执行某按钮的提交。这需要借助客户端脚本来解决。
.aspx文件的代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default7.aspx.cs" Inherits="Default7" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Textbox键盘事件</title>
<script language="javascript" type="text/javascript">
function TabNext(e,s1,s2)
{
if(window.event)
{
keynum=e.keyCode
}
else if(e.which)
{
keynum=e.which
}
if(keynum==13) //"13"代表回车键
{
if(s1=="0")
{
document.getElementById(s2).focus()
//document.getElementById() 用来获取一个指定的html元素
//focus()使其获得焦点
}
else
{
document.getElementById(s1).click()
}
if(window.event)
{
e.returnValue=false;
e.cancelBubble=true;
}
else if(e.which)
{
e.preventDefault()
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
文本框一:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
文本框二:<asp:TextBox Id="TextBox2" runat="server"></asp:TextBox>
<br />
文本框三:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<br />
文本框四:<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="按钮一" OnClick="Button_Click" />
<asp:Button ID="Button2" runat="server" Text="按钮二" OnClick="Button_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</form>
</body>
</html>
相对应的.cs文件的代码为:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class Default7 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int TextBoxNum = 4;
for (int i = 1; i <= TextBoxNum; i++)
{
if (i != TextBoxNum)
{
((TextBox)form1.FindControl("TextBox"+i.ToString())).Attributes.Add("onkeydown",
"TabNext(event,'0','"+((TextBox)form1.FindControl("TextBox"+(1+i).ToString())).ClientID+"')");
//onkeydown:按下任何键时,onkeypress:按下并放开键时
//***.FindControl("id",TextBox控件类型),FindControl就是找到这个控件,并返回这个控件的引用。
//Attributes.Add():添加事件
//""就近原则配对
}
else
{
}
((TextBox)form1.FindControl("TextBox"+i.ToString())).Attributes.Add("onkeydown",
"TabNext(event,'"+Button2.ClientID+"','')");
}
}
protected void Button_Click(object sender, EventArgs e)
{
Label1.Text = "您单击了:"+((Button)sender).Text;
//sender:引发事件的对象,(Button)sender:强制类型转换为Button类型,((Button)sender).Text:被单击的按钮的Text值。
}
}
上面的方法就是通过判断文本框zhogn键盘输入的字符是否是回车符,然后决定是转移焦点到下一个文本输入框还是执行一个方法。
这篇关于通过回车键使得光标自动跳转的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!