解决WEB页面上"焦点控制"一法 tintown [原作]

原创 2004年08月20日 16:26:00
解决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"中,其他页面都会继承他,从而可以在很多页面进行控制. 如有其他好办法,希望大家讨论.

如何利用POST数据到web页面接口(包括调用页面发送json数据和页面后台接受json数据)

1、向服务器发送数据可以利用webservice方法建立web服务接口,其他程序通过调用该接口发送数据。 2、同时,也可以利用web页面建立网页发送接口,其他程序同样可以调用...
  • yzy85
  • yzy85
  • 2016年07月25日 09:34
  • 6692

监听html窗口焦点事件

使用html5的Page Visibility API来实现 document.hidden:表示页面是否隐藏的布尔值。页面隐藏包括 页面在后台标签页中 或者 浏...
  • xyc_csdn
  • xyc_csdn
  • 2017年04月13日 21:31
  • 411

在机顶盒上控制网页焦点的方法

在机顶盒上控制网页焦点的方法 之所以写本文,是因为之前在android机顶盒上处理过焦点的问题。目前看到很多IPTV的盒子中,展示的界面不再使用native app,也是因为工作需要,所以尝试看了一...
  • ForeverSunshine
  • ForeverSunshine
  • 2016年02月24日 09:13
  • 3208

ios-上拉加载更多的界面

想试一下上拉加载更多怎么实现开始自己的研究之旅,看了两天终于做出了界面。 之所以这么慢是因为,我不知道要将上拉出现的view放在哪,就能在scrollView拉到底部的时候被拉出来。还有就是怎么拉出来...
  • u013626002
  • u013626002
  • 2015年06月08日 17:15
  • 178

AndroidTV 的焦点控制问题

最近在做有关安卓TV的相关项目,与手机端的安卓开发不同的是,TV端需要我们对焦点进行一定的处理,才使得整个程序的逻辑符合我们的要求。在电视上进行操作,一般只能通过遥控的上下左右以及确认键来进行焦点的转...
  • DavidWillo
  • DavidWillo
  • 2017年03月16日 11:09
  • 272

主题和母版页 如何在web窗体调用操作母版页内容元素

标准化网站布局        标准化网站布局的格式只是整个过程的一部分,你还需要保证通用的元素,如网站的标题、网站的导航控件等在每个页面里都出现在相同的位置。解决这一问题的关键在于创建一个可以重...
  • bensidiyu
  • bensidiyu
  • 2015年07月14日 15:30
  • 3898

web组件(Servlet、JSP)的调用和如何实现数据传递

转载:http://blog.sina.com.cn/s/blog_531101430100lyef.html 1、web组件之间的关系 (1)web组件 所谓的web组件,指jsp文件以及...
  • hgk324
  • hgk324
  • 2014年08月13日 22:29
  • 744

有关Canonical标签的一些说明

如果网站中有大量网址形式不同而内容相同的页面,那么从网站seo优化的角度来看,是有问题的。不同的网址都可以访问同样内容的页面,会给有可能引起搜索引擎的误判。Canonical标签的出现,可以尽量这一问...
  • u013388400
  • u013388400
  • 2017年10月24日 11:41
  • 74

nagios-解决监控页面上的乱码

1、 前景 在nagios的监控页面上发现返回来的信息为乱码,如下图所示: 查看相关日志,发现正常显示汉字,如下: 2、 解决方法(以下两个步骤缺一不可) 主要原因分析...
  • kellyseeme
  • kellyseeme
  • 2015年09月09日 15:50
  • 1755

遍历页面上所有TextBox控件并给它赋值为string.Empty?

请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? 答:       foreach (System.Windows.Forms.Control control in t...
  • jixiaomeng821
  • jixiaomeng821
  • 2015年03月13日 10:25
  • 727
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决WEB页面上"焦点控制"一法 tintown [原作]
举报原因:
原因补充:

(最多只允许输入30个字)