所需的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();
如何实现文本框焦点自动跳转及通过回车键提交表单
在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>