回车变成Tab的解决方案

时间:2010-07-11 09:07:04
【文件属性】:
文件名称:回车变成Tab的解决方案
文件大小:375KB
文件格式:RAR
更新时间:2010-07-11 09:07:04
.Net Javascript IE会将页面上的第一个按钮自动设为默认按钮。当用户在页面上按回车键时,就会触发这个默认按钮。事实上,有很多用户有在TextBox中输入数据之后按回车的习惯(似乎是长期使用Excel养成的习惯)。想像一下,当用户依次在20个TextBox中输入了数据之后,一不小心习惯性地按了一下回车,而该页面上的默认按钮是“检索”按钮!@##¥@...刚刚的工作全部丢失了。

有了VS2005,这个问题似乎一下子变得容易解决了,因为在VS2005的页面中,每个Panel都可以指定一个DefaultButton。我们可以把这个DefaultButton设置成“保存”按钮,这样当用户按下回车时会自动触发“保存”按钮。

不过有时我们希望当用户在页面上按回车键时就是什么也不做,或者,希望用户在按了回车后焦点会转移到下一个TextBox上。

我参考了VS2005的 WebForm_FireDefaultButton() 函数和网上的一些代码,弄了一个可以满足上述需求的解决方案,它的特性包括:


全部JavaScript代码都封装在了一个用户控件"EnterAsTab_SubPage.ascx"中,哪个页面想要回车变Tab或者屏蔽掉回车键只要把这个控件拖到那个页面上就可以了。
可以在运行时通过修改用户控件"EnterAsTab_SubPage.ascx"的属性"DiscardIEDefaultButton"和"EnterAsTab"的值来动态决定是否启用回车键变成Tab键的功能。
在启用回车键变成Tab键的功能的状态下,不会影响到Panel的默认按钮的触发。换句话说,如果在Panel中设置了默认按钮,那么在Panel内的文本框中按回车仍然会触发默认按钮,而不会变成按Tab键的效果。
【文件预览】:
EnterAsTabDemo
----page()
--------Employee_Page.aspx(683B)
--------Employee_Page.aspx.cs(419B)
--------article.mht(702KB)
----subpage()
--------EnterAsTab_SubPage.ascx(132B)
--------EnterAsTab_SubPage.ascx.cs(3KB)
--------Employee_SubPage.ascx.cs(896B)
--------Employee_SubPage.ascx(6KB)
----App_Data()

网友评论

  • 已经运用到我的项目中,效果不错
  • 已经运用到我的项目中 超赞