分类: Html/Css2011-11-11 17:28 125人阅读 评论(0) 收藏 举报

对于B/S的系统,在页面控制上不如C/S系统那么控制灵活,就如输入的焦点问题,客户都很想通过键盘对数据进行录入,这样的要求我想100个客户中会有90个吧.

因此解决焦点获取问题是必要的.大家可以从网上找到一些方法,不过都比较麻烦,我现在介绍一种很方便的.效果也很不错的方法给大家.

我前段时间看了MS的ASP.NET讲座,在里面谈到了如何让"回车键"使文本框的焦点一个个下移.其中提了三种方法,最好的一种是这样的:

用客户端脚本在页面添加document的onkeydown事件,让页面在接受到回车事件后,进行Tab键的功能,即只要把event的keyCode由13变为9

VBScript代码:

<script language="vbscript">

sub document_onkeydown

if event.keyCode=13 then

event.keyCode=9

end if

end sub

</script>

Javascript代码如下:

<script language="javascript" for="document" event="onkeydown">

<!--

if(event.keyCode==13)

event.keyCode=9;

-->

</script>

这样的处理方式,可以实现焦点往下移动,但对于按钮也起同样的作用,一般的客户在输入完资料以后,跳到按钮后,最好能直接按"回车"进行数据的提交.因此,对上面的方法要进行一下修改,应该对于"提交"按钮不进行焦点转移.而直接激活提交.

因此我对上面的代码进行了一个修改,即判断事件的"源",是否为提交按钮,代码如下:

<script language="javascript" for="document" event="onkeydown">

<!--

if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='textarea' && event.srcElement.type!='')

event.keyCode=9;

-->

</script>

判断是否为button, 是因为在HTML上会有type="button"

判断是否为submit,是因为HTML上会有type="submit"

判断是否为reset,是因为HTML上的"重置"应该要被执行

判断是否为空,是因为对于HTML上的"<a>链接"也应该被执行,这种情况发生的情况不多,可以使用"tabindex=-1"的方式来取消链接获得焦点.

以上是我个人观点,我是在ASP.NET中进行系统开发的,我会把这个客户端脚本放在"BasePage"中,其他页面都会继承他,从而可以在很多页面进行控制. 如有其他好办法,希望大家讨论.

最新文章

  1. php引用计数的基本知识
  2. MongoDB的索引(四)
  3. Spring MVC 入门示例讲解
  4. Android 布局之FrameLayout
  5. iOS block的使用
  6. 强制IE浏览器或WebBrowser控件使用指定版本显示网页2
  7. 兼容IE与firefox火狐的回车事件(js与jquery)
  8. nexus 的使用及maven的配置
  9. iOS- 三步快速集成社交化分享工具ShareSDK
  10. GHO2VMDK转换工具分享含VS2010源码
  11. JAVA-基础语法篇
  12. python之算法排序模块
  13. 如何删除Windows10操作系统资源管理器中的下载、图片、音乐、文档、视频、桌面、3D对象这7个文件夹
  14. python中shutil模块的使用
  15. Linux Xshell连接Linux服务器时报错Socket error Event: 32 Error: 10053
  16. Jenkins+PowerShell持续集成环境搭建(四)常用PowerShell命令
  17. kickstart-F
  18. Mybatis控制台打印sql
  19. Mysql 6.0安装过程(截图放不上去)
  20. python学习笔记之split()方法与with

热门文章

  1. logstash nginx 访问日志
  2. C语言随笔_return答疑
  3. 服务器放在不同省份的IDC机房,数据如何同步?一个域名如何动态解析到不同IP的服务器
  4. Java菜鸟学习笔记--数组篇(三):二维数组
  5. Jvm垃圾回收堆内存变化过程
  6. T4 模板 vs2010
  7. 【常用小命令】解决windows下有些文件文件名识别不了导致删除不了的问题
  8. Opencv--HoughCircles源码剖析
  9. Android studio教程:[2]项目整体布局
  10. react tab选项卡切换