您的位置:首页 > 其它

如何实现文本框焦点自动跳转及通过回车键提交表单

2007-01-23 19:31 916 查看
该文章讲的是在ASP.NET登录页面中如何实现文本框焦点自动跳转及通过回车键提交表单。
所需的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>

我将这些代码放在了一个LoginScript.js文件中,然后在Login.cs文件中添加如下代码就实现这样的功能:

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();

如何实现文本框焦点自动跳转及通过回车键提交表单

在asp.net中,如何回车触发指定按钮的事件?
<script language="javascript">
function btnClick()
{
if (event.keyCode == 13)
{
event.keyCode=9;//Tab键的keyCode值
event.returnValue = false;
document.all["btnSearch"].click();
}

}
<script>

...
...
<form>
...
<asp:TextBox ID="txtUserName" onkeydown="btnClick();" runat="server" Width="142px" AutoPostBack="True"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" Text="Button" AccessKey="K" /></td>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐