Chinaunix首页 | 论坛 | 博客
  • 博客访问: 242217
  • 博文数量: 33
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-25 10:51
文章分类

全部博文(33)

文章存档

2011年(4)

2010年(7)

2009年(12)

2008年(10)

我的朋友

分类:

2009-07-08 13:58:31

关于text文本框 按回车键 何种情况下 submit-------- 从一个bugfix 问题中想到
2008-12-09 11:56





        其中addFile()函数会有上面提及到限制判断,并且会返回boolean类型,当然符合条件时就返回true,不符合就返回false。理所当然当输入内容后点击submit按钮会正常执行相关操作而且会正常执行限制判断。可是奇怪的是,在IE下 在text框输入内容后直接按回车确不能执行相关操作,只是页面刷新了一下, 但是在FIREFOX下 按回车却能正常执行操作和判断。 之前第一时间就是想到应该在text文本框中加一个onkeydown的事件enter_file(),enter_file函数是当按下回车时就执行,并且函数中应该有这句代码 document.getElementById('sub').click(); 就是说当回车时就执行submit按钮的click操作。 貌似应该会正常执行操作的吧,可是又一奇怪问题出现了,就是在IE下,在文本框中输入 a 后(假设之前没有文件名为a的文件),然后快速按2下(更多下也可以),结果会跳过“不能创建重复文件名”的判断,创建出2个相同名字a 的文件夹,而且例如输入同名文件名后,弹出框会一闪而过,不会等点击确认后才退出弹出框,但是在FIREFOX下却是正常执行,也不会出现一闪而过的现象,就是快速按几下也只是创建一个文件夹a。 之后百思不得其解,试过一些方法,比如把submit类型改为button类型,把onkeydown事件换成onkeypress或者onkeyup ,结果还是出现IE下快速按回车 创建2个同名文件夹,还是出现一闪而过的现象。
       初步判断可能是ie和ff在text框按回车的响应不同,最后上网搜了一下,找到一个帖子 名为求解一个关于回车的问题 ,具体内容到那个帖子看看。抽取其中值得注意的地方如下:
   IE:       
1. 只有一个text框时,(不管有没有submit),直接触发onsubmit (form标签的一事件属性)
2. 有多个text框时,触发submit上的onclick,其默认行为为触发onsubmit。  

相对来说,ff的行为最复杂。       
1. 有submit或button时,触发submit或button的onclick,然后该onclick的默认行为会触发onsubmit。
2. 没有submit或button时,
2.1 只有一个text框时,触发onsubmit;
2.2 有多个text框时,不触发onsubmit。  

因为看到当只有一个text框时,直接触发onsubmit,就联想到要在form标签中加上onsubmit事件,于是把上面的代码改为如下:




结果在IE下终于能成功操作,即是快速按几下也只是创建一个文件夹,并且不在出现一闪而过的现象。 因此很多时候在IE下可能出现奇怪问题,换作FF下就没问题了,Firefox支持JavaScript是正宗的。另外用firefox的插件 firedebug 来调试 javascript 程序 简直太爽了。
接到一个问题,大概描述如下:页面有一text文本框,有一submit类型的按钮,输入内容后,按回车页面只是刷新一下,但是没有执行创建操作。而且文件夹名有如下限制:不能和之前创建文件夹同名,且非空。jsp中的内容简化为如下:

阅读(7983) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~