zoukankan      html  css  js  c++  java
  • 各种默认回车提交表单

    总结&科普一下:

    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;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的防弹窗广告策略)

    这,也就是我写这篇文章的意义:
    回车提交查询、新窗口、多input text、不出现原生的button。

  • 相关阅读:
    家庭网络拓扑架构
    网络基础概念(IP、MAC、网关、子网掩码)
    centos7搭建docker并部署lnmp (转)
    docker容器里面安装php的redis扩展
    docker 安装ps命令
    Docker Ubuntu容器安装ping
    docker 安装nginx
    CentOS7 安装特定版本的Docker
    docker 卸载旧版本
    Centos7搭建Docker部署LNMP
  • 原文地址:https://www.cnblogs.com/yangning/p/4065581.html
Copyright © 2011-2022 走看看