如何实现文本框焦点自动跳转及通过回车键提交表单
2007-01-04 13:37
996 查看
[align=left]<script language="JavaScript">[/align]
[align=left]NS4 = (document.layers) ? true : false;[/align]
[align=left]function checkEnter(event,element)[/align]
[align=left]{ [/align]
[align=left] var code = 0;[/align]
[align=left] if (NS4)[/align]
[align=left] code = event.which;[/align]
[align=left] else[/align]
[align=left] code = event.keyCode;[/align]
[align=left] if (code==13)[/align]
[align=left] {[/align]
[align=left] if(element.name=='tbUserName')//tbUserName-用户名文本框的Name[/align]
[align=left] {[/align]
[align=left] document.frmLogin.tbPassword.focus();//frmLogin-表单名称,tbPassword-密码文本杠框的Name[/align]
[align=left] }[/align]
[align=left] if(element.name=='tbPassword')[/align]
[align=left] {[/align]
[align=left] //document.frmLogin.submit();用这种方式提交,Asp.net页面会闪一下,但实际并未提交[/align]
[align=left] //用下面的代码才能提交,我是从asp.net生成的页面中查看源文件然后复制出来的[/align]
[align=left] if (typeof(Page_ClientValidate) != 'function' || Page_ClientValidate()) __doPostBack('lblLogin','');[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left] [/align]
</script>
我将这些代码放在了一个LoginScript.js文件中,然后在Login.cs文件中添加如下代码就实现这样的功能:
[align=left]tbUserName.Attributes.Add("onKeyPress","checkEnter(event,this)");[/align]
[align=left]tbPassword.Attributes.Add("onKeyPress","checkEnter(event,this)");[/align]
[align=left]System.IO.StreamReader sr=new System.IO.StreamReader(MapPath("Script")+"//LoginScript.js");[/align]
[align=left]this.RegisterClientScriptBlock("LoginScript",sr.ReadToEnd());[/align]
sr.Close();
<script language="javascript">
<!--
function init()
{
document.onkeydown=keyDown
}
function keyDown(e) {
if(event.keyCode==13)
{
event.keyCode=9
}
<body onload="init()">
<SCRIPT language="javascript">
function keyvalue()
{
if(event.keyCode=="13")
{
if(!(event.srcElement.name=="btnSave"|| event.srcElement.name=="btnReturn") )
{
event.keyCode="9";
}
}
// key=window.event.keyCode;
// alert(key);
// if(key==13)//判断是否按下回车键
// {
// event.keyCode=9;
//CurTabIndex=event.srcElement.tabIndex+1//将当前tabindex的值加1
//for (n=0;n< Form1.elements.length;n++)
//{
// if (Form1.elements
.tabIndex==CurTabIndex) //找到下一个表单元素
// {
// Form1.elements
.focus(); //移动焦点
// return true;
// }
// }
// }
}
[align=left]NS4 = (document.layers) ? true : false;[/align]
[align=left]function checkEnter(event,element)[/align]
[align=left]{ [/align]
[align=left] var code = 0;[/align]
[align=left] if (NS4)[/align]
[align=left] code = event.which;[/align]
[align=left] else[/align]
[align=left] code = event.keyCode;[/align]
[align=left] if (code==13)[/align]
[align=left] {[/align]
[align=left] if(element.name=='tbUserName')//tbUserName-用户名文本框的Name[/align]
[align=left] {[/align]
[align=left] document.frmLogin.tbPassword.focus();//frmLogin-表单名称,tbPassword-密码文本杠框的Name[/align]
[align=left] }[/align]
[align=left] if(element.name=='tbPassword')[/align]
[align=left] {[/align]
[align=left] //document.frmLogin.submit();用这种方式提交,Asp.net页面会闪一下,但实际并未提交[/align]
[align=left] //用下面的代码才能提交,我是从asp.net生成的页面中查看源文件然后复制出来的[/align]
[align=left] if (typeof(Page_ClientValidate) != 'function' || Page_ClientValidate()) __doPostBack('lblLogin','');[/align]
[align=left] }[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left] [/align]
</script>
我将这些代码放在了一个LoginScript.js文件中,然后在Login.cs文件中添加如下代码就实现这样的功能:
[align=left]tbUserName.Attributes.Add("onKeyPress","checkEnter(event,this)");[/align]
[align=left]tbPassword.Attributes.Add("onKeyPress","checkEnter(event,this)");[/align]
[align=left]System.IO.StreamReader sr=new System.IO.StreamReader(MapPath("Script")+"//LoginScript.js");[/align]
[align=left]this.RegisterClientScriptBlock("LoginScript",sr.ReadToEnd());[/align]
sr.Close();
<script language="javascript">
<!--
function init()
{
document.onkeydown=keyDown
}
function keyDown(e) {
if(event.keyCode==13)
{
event.keyCode=9
}
<body onload="init()">
<SCRIPT language="javascript">
function keyvalue()
{
if(event.keyCode=="13")
{
if(!(event.srcElement.name=="btnSave"|| event.srcElement.name=="btnReturn") )
{
event.keyCode="9";
}
}
// key=window.event.keyCode;
// alert(key);
// if(key==13)//判断是否按下回车键
// {
// event.keyCode=9;
//CurTabIndex=event.srcElement.tabIndex+1//将当前tabindex的值加1
//for (n=0;n< Form1.elements.length;n++)
//{
// if (Form1.elements
.tabIndex==CurTabIndex) //找到下一个表单元素
// {
// Form1.elements
.focus(); //移动焦点
// return true;
// }
// }
// }
}
相关文章推荐
- 如何实现文本框焦点自动跳转及通过回车键提交表单
- 如何实现文本框焦点自动跳转及通过回车键提交表单[引用]
- 如何在asp.net实现文本框焦点自动跳转及通过回车键提交表单
- 在ASP.NET登录页面中如何实现文本框焦点自动跳转及通过回车键提交表单
- 如何实现文本框焦点自动跳转及通过回车键提交表单
- 如何实现文本框焦点自动跳转及通过回车键提交表单
- 如何实现文本框焦点自动跳转及通过回车键提交表单
- .实现文本框焦点自动跳转及通过回车键提交表单
- 文本框焦点自动跳转及通过回车键提交表单的几种代码
- 文本框焦点清空以及回车键提交表单的实现
- 如何实现通过回车键提交表单
- 如何在文本框输入框里按回车键,光标自动跳转到下一个文本框输入框或者是执行某按钮的提交?
- 拦截器springmvc防止表单重复提交【3】3秒后自动跳回首页【重点明白如何跳转到各自需要的页面没有实现 但是有思路】
- 如何实现通过回车键提交表单
- 如何在文本框输入框里按回车键,光标自动跳转到下一个文本框输入框或者是执行某按钮的提交?
- JavaScript--简单实现按回车键,光标跳转到后一文本框中和表单提交
- javascript文本框回车自动提交表单功能实现
- form表单通过GET提交的数据自动生成的链接地址如何伪静态化处理
- .NET中如何通过文本框中按回车键进行的提交数据
- 文本框回车自动提交表单