解决WEB页面上焦点控制一法

web|解决|控制|页面

解决WEB页面上"焦点控制"一法

对于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!='')

event.keyCode=9;

-->

</script>

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

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

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

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

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

听棠

时间: 2024-09-12 20:36:00

解决WEB页面上焦点控制一法的相关文章

解决WEB页面上焦点控制2种方法--如回车使光标在在TEXTBOX之间移动(从网上获得)

web|解决|控制|页面   方法1:from 听棠.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  

如何在Web页面上直接打开、编辑、创建Office文档

web|创建|页面 有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法. 在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于"Program Files\Microsoft Office\OFFICE11\owssupp.dll".通过这个控件,客户端

把当前web页面上的所有图片复制到特定目录

web|页面  把当前web页面上的所有图片复制到特定目录,比如C:\imgs\ 转载请注明:作者:糯米糊糊(huyoo353),来源:http://blog.csdn.net/huyoo/ MoreQuick回复: thank,我也不是很精通这方面,不过插件可以用vbscript写的 麻烦你贴代码到论坛上,看是否有人会 thanks! -- Previous Private Message -- Sent by : edward Sent : 2005-03-18 at 7:53pm More

用VB将第三方控件打成CAB包(在WEB页面上使用)

web|控件|页面 用VB将第三方控件打成CAB包(在WEB页面上使用)由于工作的需要,笔者需要在WEB页面上显示CAD文件(在客户机器上不装CAD).由于时间紧迫,现写控件根本来不及,没办法在网上搜寻了一圈.找到了一个软件,大小大概有8兆左右.可以用来浏览DWG类型的文件.用了一下,发现其用的是一个DLL类型的控件,并带有两个附属的DLL文件. 如果要在WEB页面上使用控件,则控件需要打成CAB类型的包.上网找了一个打CAB包的工具,名字叫IExpress.不过如果用这个工具打包需要手工编写I

使用CamanJS在Web页面上处理图像的技巧_jquery

你可能会想问既然CSS已经有现成的功能可以支持基础的图像操作了,为什么我们还会想要为此使用一个像这样的 JavaScript 库呢. 好吧,除了有浏览器的支持,使用 CamanJS 有许多的好处.它为我们操作图像提供了更多的过滤器和选项.你可以在你的图像中创建高级过滤器,进而控制其中的每一个像素.你可以使用其内置的混合模式和图层系统.而它也能让你进行图像的跨域操作,并可以对操作产生的图像进行保存. 现在,就让我们来开始探索 CamanJS 所提供的特性吧! 引入必要的文件 要开始使用 Caman

如何在Web页面上直接打开、编辑、创建Office文档_javascript技巧

如何在Web页面上直接打开.编辑.创建Office文档  有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法. 在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于"Program Files\Microsoft Office\OFFICE11\owssupp.d

奇怪的问题 在WEB页面上设置控件的大小后一浏览所有控件都变成原始的默认大小

问题描述 在页面上设置控件大小后一运行所有控件都恢复成默认的大小,一查浏览页面的原代码所有控件的宽度.高度属性值都没了. 解决方案 解决方案二:有没有人遇到过这种问题没有?解决方案三:我也遇到过这种情况,不知大哥有没有解决啊?我也不知道为什么一开始好好的,过了一段时间后就这样了,可在别人的电脑上没有这种问题啊?解决方案四:代碼中是不是使用了Response.Write()??解决方案五:整个项目中有Response.Write(ex.Message);这种代码会影响吗?Response.Writ

Web页面上工作流设计器(silverlight/Flex/Javascript/java Workflow Designer)

 最近需要做一个web页面的工作流设计器,调研了一下,具体内容汇总如下,可做大家的使用选型参考. Silverlight的Workflow Designer ShareDesigner http://sharedesigner.codeplex.com/  开源流程设计器 Workflow11.Designer 基本的功能  http://www.cnblogs.com/eleven11/archive/2010/08/10/Workflow11_Designer.html http://sil

web页面上的打印控制

web|打印|控制|页面 参考:<html><head><meta name=vs_targetSchema content=http://schemas.microsoft.com/intellisense/ie5><title>看看</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><!