在ASP.NET中,如果同一页面有多个文本框,在每个文本框按“回车”按钮,将会默认响应第一个Button的Click事件,怎样能随意的按回车键而不引发意外的响应或者怎样在不同的地方按回车键得到不同的响应
二、在不同的地方按回车键得到不同的响应
如果同一页面上有多个文本框(TextBox),每个文本框对应不同提交按钮(Button),如下列“登录”的页面里,有“输入邮箱号”和“输入帐号”两个文本框和“进入邮箱”、“进入社区”两个按钮。
实现步骤如下:
1。建立页面和代码文件(此步骤不详细介绍)
2。给 form 加上 οnkeydοwn="keydown()"以屏蔽掉页面的回车响应 keydown()的代码如下: function keydown() { } 3。给“输入邮箱号”的文本框加上 οnkeydοwn="mail();"让它响应“进入邮箱”按钮事件 mail()代码如下: function mail() { if(event.keyCode==13) { document.all.MAIL.click(); alert('mail'); } } 4。给“输入帐号”的文本框加上 οnkeydοwn="bbs();"让它响应“进入社区”按钮事件 bbs()代码如下: function bbs() { if(event.keyCode==13) { document.all.BBS.click(); alert('bbs'); } } 按回车执行页面上的指定按钮事件
ASP.NET 中让同一页面不同的文本框在按回车时响应不同的提交按扭的事件
1、第一步:先创建以下javascript,如下:
<script language="javascript"> <!-- function KeyDown() { if(event.keyCode==13) { //在页面form中,按回车不触发事件 return false; } }
function doButton() {
if(event.keyCode==13) { //btSubmit指对应的提交按扭的id名称 document.all.btSubmit.click(); } }
//-->
</script> 2、第二步:在 FORM 中加入“onKeyDown”标签,如下: <form id="Form1" method="post" runat="server" onKeyDown="return KeyDown()"> </form>
3、第三步:在所要按回车的文本框上加入“onKeyDown”标签,如下:
<asp:TextBox id="TextBox1" runat="server" onKeyDown="doButton()"></asp:TextBox> 这是提交按扭: <asp:Button id="btSubmit" runat="server" Text=" 提交 "></asp:Button>
以上仅供参考
呵呵,经自己亲自试演,如下可行,要先给按钮获得焦点
this.TextBox1.Attributes.Add("onkeypress","if(event.keyCode==13){document.all.btnGOTO.focus();document.all.btnGOTO.click(); return false;}");
this.TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13){document.all.btnGOTO.focus();document.all.btnGOTO.click(); return false;}");
在一个页面上存在多个按钮,有的时候希望按回车直接实现点击某按钮的效果,解决方法如下:
<script language="javascript"> function document.onkeydown() { var e=event.srcElement; if(event.keyCode==13) { document.getElementById("需要点击的那个按钮的id").click(); return false; } } </script> 如果页面上有多行文本框,在多行文本框内回车仅仅想实现换行而不是提交表单这么修改 if(e!=document.getElementById("多行文本框的id")&&event.keyCode== 13) 一、在页面任意的地方按回车键都不引发响应 如果整个页面没有需要设置回车提交的,希望在页面任意的地方按回车键都不引发响应,可以将全页面的回车通通转为 Tab,方法是在文件头部加上如下代码: |
asp.net如何在页面加载时响应回车事件
最新推荐文章于 2022-02-18 13:55:50 发布