深圳soho网,small office home office
当前位置 : 深圳soho网 >>  web技术  >> 文章正文

ASP.NET中文本框上按回车时系统缺省提交按钮的问题

日期:2008-4-9  作者:szsoho  来源:www.szsoho.com   点击:

ASP.NET 中由于一个页面只有 Form ,很多朋都经常碰到的一个问题是当在一个文本框中按回车后确不知哪个按钮被当成提交按钮提交了,其实也不麻烦。在网上很多网站都提供了很多代码,看代码:
以下是代码片段:
function OnKey()
         {
            if(event.keyCode==13)
            {
              document.getElementById('Button1').click();
            }
         }

这个代码在有一个Button按键下是没有问题的,如果在同一页有多个Button的时候就会出失灵了,必须要通过按下Ctrl+Enter才能正常,现在我们来修改一下原来的代码,在一个页面中有多个Button时能让按下enter能正常点运行你指定的事件,修改如下:

以下是代码片段:
function OnKey()
        {
            if(event.keyCode==13)
            {
                form1.Button2.focus(); //反焦点移到Button2上
                form1.Button2.click(); //按下Button2
            }
        }

你现在再试试看,嘿嘿,是不是可以了呀,原理很简单,asp.net按下回车后默然运行第一个控件的事件,我们把其焦点移到你要的按钮下就OK了,其实就是修改了把焦点移到Button2上,代码自动按下enter。