各种默认回车 提交表单

通过回车进行提交表单,可以在用户输入完毕后直接进行回车查询操作,不用点击鼠标,在某些场景应用下非常方便,用户体验较好。

最近项目中遇到一个Input表单提交的问题,让我烦躁了半天,这里网上别人总结的,我粘贴下来,自己方便,也做一下普及。
原始网址:

http://hi.baidu.com/wangworks/blog/item/92c30d11f4d91b0c213f2e3e.html
总结&科普一下:
1、如果form里面只有一个input type=text,那么无论有没有submit按钮,在input中回车都会提交表单。如果不想回车提交,需要再加一个input type=text,然后设置display:none.

2、如果form里面多于一个input type=text,那么必须有一个submit按钮才可以回车提交表单。
按钮可以是input也可以是button,他们应设置type=submit。如果只写button而不写type,那么IE下type=button,FF下则是type=submit。

3、如果form里面多于一个input type=text,并想实现回车提交表单,又不想在页面中出现原生的submit按钮。比如:你想通过一个带hover的图片连接,并通过js脚本来实现华丽的验证及表单提交……

可以加上一个input type=submit 并设置display:none在form里——但是!这仅仅对FF等有效。在IE下就会非常悲剧……如果希望IE生效,需要做以下的事情:

<input type="submit" style="display:block;overflow:hidden;width:0px;height:0px;position:absolute">

还尝试了其他很多方法,均无效。比如:
将input的颜色、边框、背景都设置为#FFF,在IE下会出现恶心的焦点框……
设置input的透明度……
设置input的visablity……
将input移到页面外面可见区域之外……
将input藏在某个object下面……
还能在trick点么……

最后一个问题:

为什么非要费劲的用form的默认回车提交,而不在input中监听keydown事件,等到code=13时使用javascirpt调用form对象的submit()方法?
前提如果你的form targtet!=_blank,那么你可以实现你想要的。
但是一旦target=_blank,根据我的实践,在keydown事件中进行submit到_blank
—— 这个新窗口定会被IE给block掉……(顺便提一下,如果是在click事件里调用form的submit方法,无论是本窗口还是新窗口,在IE中都不会被block,怀疑是IE的防弹窗广告策略)
http://blog.csdn.net/jiabeis/article/details/5815943
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值