如何实现文本框焦点自动跳转及通过回车键提交表单
所需的Javascript代码:
<script language="JavaScript">
NS4 = (document.layers) ? true : false;
function checkEnter(event,element)
{
var code = 0;
if (NS4)
code = event.which;
else
code = event.keyCode;
if (code==13)
{
if(element.name==‘tbUserName‘)//tbUserName-用户名文本框的Name
{
document.frmLogin.tbPassword.focus();//frmLogin-表单名称,tbPassword-密码文本杠框的Name
}
if(element.name==‘tbPassword‘)
{
//document.frmLogin.submit();用这种方式提交,Asp.net页面会闪一下,但实际并未提交
//用下面的代码才能提交,我是从asp.net生成的页面中查看源文件然后复制出来的
if (typeof(Page_ClientValidate) != ‘function‘ || Page_ClientValidate()) __doPostBack(‘lblLogin‘,‘‘);
}
}
}
</script>
tbUserName.Attributes.Add("onKeyPress","checkEnter(event,this)");
tbPassword.Attributes.Add("onKeyPress","checkEnter(event,this)");
System.IO.StreamReader sr=new System.IO.StreamReader(MapPath("Script")+"\\LoginScript.js");
this.RegisterClientScriptBlock("LoginScript",sr.ReadToEnd());
sr.Close();
posted on 2004-05-26 14:52 dudu 阅读(10176) 评论(14) 编辑 收藏 收藏至365Key 所属分类: ASP.NET
评论
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-05-26 15:11 吹雪
我建议这样写:
if(event.keyCode==13)
{
event.keyCode = 9 ;
}
当点击回车的时候去执行 Tab键,这样效果更好 :) 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-05-26 15:34 aierong
<script language="vbscript">
<!--
Sub document_onkeydown
if window.event.keyCode=13 then
window.event.keyCode=9
end if
End Sub
//-->
</script>
把上面代码放入HTML代码中,控件自动扑获回车,自动把焦点转移到下一个控件
这样就可以按照事先设置好的TabIndex属性转移焦点
回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-05-26 17:36 Koffer
#region 控件获得焦点
/// <summary>
/// 通过 注册并运行脚本 使某个脚本可操作的控件获得焦点。
/// </summary>
/// <param name="strTextBoxOrButtonId"></param>
private void TextBoxOrButton_GotFocus( string strTextBoxOrButtonId )
{
string script = "<script>document.all[\"" + strTextBoxOrButtonId + "\"].focus();</script>" ;
this.RegisterStartupScript( "GotFocus" ,script );
}
#endregion 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-05-26 17:38 koffer
this.txtSDUTY.Attributes["onkeydown"]="if (event.keyCode==13) {document.all.btnSDUTY.click();return false;}";
#region 如果用户用回车去做的验证
private void btnSDUTY_Click(object sender, System.EventArgs e)
{
TextBoxOrButton_GotFocus(this.txtSLORG.ID);
}
} 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-06-09 09:29 ak47
你这些带颜色的关键字是如何弄上去的?
是用一个国外网址转化的吗? 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-06-09 09:38 dudu
将代码从VS.NET中复制到Word, 再从Word复制过来, 就变成这样了。 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-06-18 17:15 狮子洋
<script language="javascript">
<!--
function init()
{
document.onkeydown=keyDown
}
function keyDown(e) {
if(event.keyCode==13)
{
event.keyCode=9
}
<body onload="init()">
}
//-->
</script>
这是javascript版的. 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-07-08 10:38 过客
你好 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-10-25 12:39 奚彧
焦点是转移了,很多代码都只是转移焦点,但是却不提交表单 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2004-12-26 10:34 lake2
有启发,谢谢各位 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2005-01-24 10:16 听棠.NET
看我发表的 "解决WEB页面上"焦点控制"一法" http://www.cnblogs.com/tintown/archive/2005/01/06/87355.html 比这个经典多了!!! 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2005-03-28 09:30 killren
复制粘贴消化 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2005-07-02 10:18 ascn
我想做这样的文本框,不知道怎么实现。
文本框的最长字符为10,当输入到10字符后,自动跳转到下一个文本框,请问怎么实现?
烦请帮忙 ascn@ 回复
# re: 如何实现文本框焦点自动跳转及通过回车键提交表单 2005-07-28 10:32 阿新
<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[n].tabIndex==CurTabIndex) //找到下一个表单元素
// {
// Form1.elements[n].focus(); //移动焦点
// return true;
// }
// }
// }
}
</script>
我是这样写的,加了判断遇到按钮就不跳了
但代码一定要放在form里面