原文链接:http://www.nowamagic.net/html/html_AboutInputSummit.php

有时候我们希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此。比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交。

要控制这些行为,不需要借助 JavaScript,浏览器已经帮我们做了这些处理,下面举几个例子来说明:

    1. 默认情况下,一个文本框的时候,提交,不管按钮 type 是 submit 还是 button:
1 <form action="http://www.nowamagic.net">
2     <input type="text">
3     <input type="button" value="提交">
4 </form>
    1. 一个文本框的时候怎么才能做到不提交,方法是加一个隐藏掉的文本框:
1 <form action="http://www.nowamagic.net">
2     <input type="text">
3     <input type="text" style="display:none">
4     <input type="button" value="提交">
5 </form>
    1. 只要有type为submit的按钮存在,一个文本框还是多个文本框都提交:
1 <form action="http://www.nowamagic.net">
2     <input type="text">
3     <input type="submit" value="提交">
4 </form>
1 <form action="http://www.nowamagic.net">
2     <input type="text">
3     <input type="text">
4     <input type="submit" value="提交">
5 </form>
    1. 多个文本框的时候,不提交,用type为button的按钮就行啦:
1 <form action="http://www.nowamagic.net">
2     <input type="text">
3     <input type="text">
4     <input type="button" value="提交">
5 </form>
    1. 用button元素时,FF和IE下有不同的表现:
1 <form action="http://www.nowamagic.net">
2     <input type="text">
3     <input type="text">
4     <button>提交</button>
5 </form>
    1. radio和checkbox在FX下也会触发提交表单,在IE下不会:
1 <form action="http://www.nowamagic.net">
2     <input type="text">
3     <input type="radio" name="a">
4     <input type="checkbox" name="b">
5     <input type="checkbox" name="c">
6     <input type="button" value="提交">
7 </form>
    1. type为image的按钮,等同于type为submit的效果
1 <form action="http://www.nowamagic.net">
2     <input type="text">
3     <input type="text">
4     <input type="image" src="http://www.nowamagic.net/images/FeedMe.jpg">
5 </form>

总结几条规则:

  • 如果表单里有一个type=”submit”的按钮,回车键生效。
  • 如果表单里只有一个type=”text”的input,不管按钮是什么type,回车键生效。
  • 如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FF默认为type=submit。
  • 其他表单元素如textarea、select不影响,radio checkbox不影响触发规则,但本身在FF下会响应回车键,在IE下不响应。
  • type=”image”的input,效果等同于type=”submit”,不知道为什么会设计这样一种type,不推荐使用,应该用CSS添加背景图合适些。

实际应用的时候,要让表单响应回车键很容易,保证表单里有个type=”submit”的按钮就行。而当只有一个文本框又不希望响应回车键怎么办呢?我的方法有点别扭,就是再写一个无意义的文本框,隐藏起来。根据第3条规则,我们在用button的时候,尽量显式声明type以使浏览器表现一致。

【转载】input 中 type='text' 的提交问题的更多相关文章

  1. 给 input 中 type="text" 设置CSS样式

    input[type="text"], input[type="password"] {    border: 1px solid #ccc;    paddi ...

  2. CSS:给 input 中 type="text" 设置CSS样式

    input[type="text"], input[type="password"] {    border: 1px solid #ccc;    paddi ...

  3. 关于<marquee>、<form>、input中的<text>、<password>、<hidden>、<wenbenkuang>、<reset>、<image>、<submit>、<radio>、<checkbox>以及<select><iframe src>的用法

    <html>    <head>        <meta charset="UTF-8">        <title></ ...

  4. 通过样式调整input 中password text默认长度

    原文出处 <input >标签内的type分别为password和text时其默认长度和宽度不一致,而在做登陆框时往往需要将它们的长度和宽度设置一致.如下的方法可以通过css控制使其一致: ...

  5. IE去掉input的type=”text”输入内容时出现的X和type=”password”出现的眼睛图标

    从IE 10开始,type=”text” 的 input 在用户输入内容后,会自动产生一个小叉叉(X),方便用户点击清除已经输入的文本.对于type=”password”的 input 则会在右方显示 ...

  6. IE10去掉input的type=”text”输入内容时出现的小叉号(X)和type=”password”出现的小眼睛图标

    最近在做一个后台管理系统项目,遇到以下两个问题: 1.从IE 10开始,type="text" 的 input 在用户输入内容后,会自动产生一个小叉号(X),方便用户点击清除已经输 ...

  7. 在input中回车后页面提交导致出现HTTP 错误 405.0 - Method Not Allowed

    前些时间在做一个搜索功能时发现一个比較有意思的现象,场景是这种:在一个模态窗体中是一个订单列表.页面的顶部有若干个状态筛选框和一个搜索keyword输入框,当焦点在keyword输入框时按回车,本来是 ...

  8. 【】input中 type=number 去掉箭头

    css中设置: input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: non ...

  9. 关于使用jquery对input中type为radio的标签checked属性的增加与移除

    需求:对radio的checked属性先消除然后进行重新设置: 初步方案: $("auForm input :radio[value='0']").removeAttr('chec ...

随机推荐

  1. springMVC spring hibernate pom.xml备份

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. maven Spring获取不到配置文件

    如题: 如果在maven项目中,Spring获取不到配置文件, 把配置文件放到.src/main/resource文件夹下即可 import org.springframework.context.s ...

  3. svn上传文件

    转自:http://zhouhaitao.iteye.com/blog/1122918 如何将指定文件或文件夹直接提交到svn指定目录? 如何将指定文件或文件夹直接提交到svn指定目录? 一般我们都是 ...

  4. app控件获取之uiautomatorviewer

    初探 在Android的SDk提供了以下的工具来支持我们进行UI自动化测试: uiautomatorviewer:用来扫描和分析Android应用程序的UI控件的工具. uiautomator:一个包 ...

  5. 如何让 Drupal 使用 Wordpress 形式的编辑代码?

    如果你曾有过将 Wordpress 网站迁移到 Drupal 的经验,很可能客户会问的第一件事就是如何为 Drupal 添加编辑代码. Wordpress 中的 Shortcodes 插件让使用者可以 ...

  6. 反向生成hbm.xml

    选择数据库透视图 打开数据连接 打开刚刚创建的连接,然后打开用户名下的表 这个就是she用户下的表,我们选中要反向生成的表,可以多选,然后点击右键 点击Hibernate Reverse Engine ...

  7. Android开发-API指南-Content Provider

    Content Providers 英文原文:http://developer.android.com/guide/topics/providers/content-providers.html 采集 ...

  8. 学习总结 html一般标签的使用

    body的属性: bgcolor 页面背景色 background  背景壁纸.图片 text  文字颜色 topmargin  上边距 leftmargin   左边距 rightmargin 右边 ...

  9. ASP.NET Session丢失的情况

    正常操作情况下会有ASP.NET Session丢失的情况出现.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. 现在我就把原 ...

  10. PHP实现物流查询(通过快递网API实现)

    物流查询实现 引 言:目前快递公司太多了,不可能一个一个去申请api查询.这个时候,就可以通过合作,找一些中间商合作.我试了两家,一家是快递100,一家是快递网. 他们都需要申请key.但是快递100 ...