目标:详解表单input标签type属性常用的属性值

一、input标签和它的type属性 
PS:input 元素可以用来生成一个供用户输入数据的简单文本框。 在默认的情况下, 什么样的数据均可以输入。而通过不同的type属性值,可以限制输入的内容。

二、总结 
1、text 一个单行文本框,默认属性值 
2、password 隐藏字符的密码框 
3、search 搜索框,在某些浏览器中输入内容会出现叉形标记 
4、submit、reset、button 依次是:提交按钮、重置按钮、普通按钮 
5、number、range 依次是:只能输入数值的框、只能输入在一个指定范围的数值框 
6、checkbox、radio 依次是:复选框,一组复选框(name属性值相同)用户可以勾选多个、单选按钮,一组单选按钮(name属性值相同)用户只可以选中一个 
7、image、color 依次是:图片按钮、颜色代码按钮 
8、email、tel、url 依次是:检测电子邮件、号码、网址的文本框 
9、hidden 生成一个隐藏控件 
10、file 生成一个上传控件 
11、获取各种日期、时间 data、month、time、week、datetime、datatime-local

三、详解 
1、type=”text” 
1.1)、list 指定为文本框提供建议值的 datalist 元素,其值为datalist 元素的 id 值 
1.2)、maxlength 设置文本最大字符长度 
1.3)、pattern 用于输入验证的正则表达式 
1.4)、placeholder 输入提示的文本,当用户输入内容时会自动消失 
1.5)、readonly 文本框处于只读状态 
1.6)、disabled 文本框处于禁用状态 
1.7)、size 设置文本框宽度 
1.8)、value 设置文本框初始值,会显示在文本框中,显示时优先级比placeholder高,表单提交时优先提交用户输入的内容,如果用户没有输入则提交默认的值 
1.9)、required 表示用户必须输入一个值,否则无法通过输入验证

2、type=”password”,和type=”text”时所拥的额外属性基本一致,少了一个list属性

3、type=”search” , 和type=”text”所有用的额外属性值一致

4、当type为submit、reset、button,提交表单、重置表单、普通按钮 
4.1)、如果是 submit 时,还提供了和元素一样的额外属性:formaction、formenctype、formmethod、formtarget 和 formnovalidate。

5、当type为number、range时 
5.1)、type=”number” 只能输入数字的文本框 
5.2)、type=”range” 生成一个通过拖拽调节大小的调节器 
额外属性: 
5.3)、min 设置可接受的最小值 
5.4)、max 设定可接受的最大值 
5.5)、value 指定初始值 
5.6)、step 指定上下调节值的步长 
5.7)、required 表明用户必须输入一个值,否则无法通过输入验证 
5.8)、readonly 设置文本框内容只读

6、当type为checkbox、radio 
6.1)、不管type等于checkbox还是radio,都必须有属性name和value 
6.2)、他们还有可选属性checked、required 
PS:复选框和单选按钮都是以一组一组的形式存在,name值相同的即为一组,一组复选框可以同时选中几个,而一组单选按钮同时只能选中一个

<section>
<label for="c">C</label> <input type="checkbox" id="c" name="hobby" value="c"/>
<label for="python">python</label> <input type="checkbox" id="python" name="hobby" value="python"/>
<label for="java">java</label> <input type="checkbox" id="java" name="hobby" value="java"/>
</section>
<section>
<label for="apple">apple</label> <input type="checkbox" id="apple" name="eat" value="apple"/>
<label for="orange">orange</label> <input type="checkbox" id="orange" name="eat" value="orange"/>
<label for="pear">pear</label> <input type="checkbox" id="pear" name="eat" value="pear"/>
</section>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  提交时数据格式:hobby=c&hobby=python&eat=orange&eat=pear
  • 1
  • 2
<section>
<label for="man">男</label> <input type="radio" id="man" name="sex" value="man"/>
<label for="men">女</label> <input type="radio" id="men" name="sex" value="men"/>
</section>
  • 1
  • 2
  • 3
  • 4
  提交时数据格式:sex=man
  • 1
  • 2

7、当type为image、color 
7.1)、当type=”image”时,功能上和type=”submit”一样,前者是用图片作为按钮,当然后者也可以达到同样的效果 
额外属性: 
7.2)、src 指定要显示图像的 URL 
7.3)、alt 提供图片的文字说明,当图片找不到时显示该文字 
7.4)、width 图像的长度,注意这是标签属性,而不是样式属性 
7.5)、height 图片的高度,注意事项如上 
7.6)、提交时的额外属性 formaction、formenctype、formmethod、formtarget和 formnovalidate。

8、当type为email、tel、url 
8.1)、email 为电子邮件格式 
8.2)、tel 为电话格式 
8.3)、url 为网址格式 
8.4)、额外属性和 text一致。但对于这几种类型,浏览器支持是不同的。email 支持比较好,现在浏览器都支持格式验证;tel 基本不支持;url 支持一般,部分浏览器只要检测到 http://就能通过。

9、type=”hidden” 
9.1)、生成一个隐藏控件,一般用于表单提交时关联主键 ID 提交,而这个数据作为隐藏存在

10、type=”file” 
10.1)、生成一个文件上传控件,用于文件的上传。 
额外属性: 
10.2)、required 表明用户必须提供一个值,否则无法通过验证 
10.3)、accept 指定接收的MIME类型 例如:accept=”image/gif, image/jpeg, image/png”

《1》上传.csv格式的

<input text="file" accept=".csv" />

《2》上传.xls格式

<input text="file"  accept="application/vnd.ms-excel"/>

《3》上传.xslx格式

<input text="fiel" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>

《4》上传.png/.jpg/etc格式

<input type="file" accept="text/plain" />

《5》上传图片格式

<input type="file" accept="image/*" />

《6》上传.htm,.html格式

<input type="file" accept="text/html" />

《7》上传video(.avi, .mpg, .mpeg, .mp4)格式

<input type="file" accept="video/*" />

《8》上传audio(.mp3, .wav, etc)格式

<input type="file" accept="audio/*" />

《9》上传.pdf格式

<input type="file" accept=".pdf" />

《10》如果限制两种文件格式,同时限制

<input type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel">

PS:当需要上传文件时,form标签的enctype属性必须设置为multipart/form-data

11、当type为data、month、time、week、datetime、datatime-local,因为各种原因还是用jquery等前端库写吧!!!

input表单的type属性详解,不同type不同属性之间区别的更多相关文章

  1. Jquery ajax提交表单几种方法详解

    [导读] 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的 ...

  2. JavaScript表单序列化的方法详解

    本文介绍下,在javascript中实现表单序列化的方法,通过实例加深理解,有需要的朋友参考下吧. 在JavaScript中,可以利用表单字段的type属性,连同name和value属性一起实现对表单 ...

  3. AngularJS表单验证实现方法详解

    本文主要是通过源码实例和大家分享AngularJS中的表单验证相关知识,希望通过本文的分享,对大家学习AngularJS有所帮助. 1.常规表单验证: 2.AngularJs中提供的表单验证实例. 实 ...

  4. a链接易混淆与form表单简易验证用法详解

    链接可以说遍布互联网,比如你想提供一个可以跳转到百度首页的链接给网友,那么代码如下: <a href="http://www.baidu.com">百度一下,你就知道& ...

  5. Android组件---四大布局的属性详解

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4372222.html Android常见布局有下面几种: LinearL ...

  6. CSS中background属性详解

    CSS背景属性 background css 说明 background-image:url(图片的网址); 背景图 background: url( 图片的网址 ); 背景 background-c ...

  7. input type类型和input表单属性

    一.input type类型 1.Input 类型 - email 在提交表单时,会自动验证 email 域的值. E-mail: <input type="email" n ...

  8. 兼容IE8以下浏览器input表单属性placeholder不能智能提示功能

    当前很多表单提示使用了表单属性placeholder,可这属性不兼容IE8以下的浏览器,我自己写了一个兼容处理js // 兼容IE8以下浏览器input不能智能提示功能 if(navigator.ap ...

  9. jQuery Event.which 属性详解

    jQuery Event.which 属性详解 which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮. 对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮. which属性对 ...

  10. OutputCache属性详解(四)— SqlDependency

    目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...

随机推荐

  1. Hadoop2.4.1伪分布式安装

    本教程的前提是已经在VMware虚拟机上安装了centos6.5,centos的安装过程这里不再赘述 一.准备Linux环境 1.点击VMware快捷方式,右键打开文件所在位置 -> 双击vmn ...

  2. Mesos初步尝试

    记得几年前,用.net做分布式批处理的时候环境搭建很麻烦,虽然参数的分片算法.配置都搞定了,但是.net虚拟机的环境建立是个头疼的事: 节点要自己手工建 环境变量没法从前往后传递 批处理程序改动后的分 ...

  3. Intellijidea建javaWeb以及Servlet简单实现

    一.创建并设置javaweb工程1.创建javaweb工程File --> New --> Project... 点击Project后出现如下界面,选择Java Enterprise,选中 ...

  4. gradle发布jar包

    在.gradle文件中添加以下代码 apply plugin: 'application' mainClassName = 'com.excel.ExcelApplication' jar { doF ...

  5. JAVA 实现tail -f 日志文件监控功能

    工具: <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</ar ...

  6. [array] leetcode - 41. First Missing Positive - Hard

    leetcode - 41. First Missing Positive - Hard descrition Given an unsorted integer array, find the fi ...

  7. 什么是WAL?

    在写完上一篇<Pull or Push>之后,原本计划这一片写<存储层设计>,但是临时改变主意了,想先写一篇介绍一下消息中间件最最基础也是最核心的部分:write-ahead ...

  8. NP完整性| 集1(简介)

    我们一直在写关于高效算法来解决复杂问题,如最短路径,欧拉图,最小生成树等.这些都是算法设计者的成功故事. 在这篇文章中,讨论了计算机科学的失败故事. 计算机可以解决所有的计算问题吗? 存在计算问题,即 ...

  9. ES6 Proxy和Reflect(下)

    construct() construct方法用于拦截new命令. var handler = { construct (target, args) { return new target(...ar ...

  10. 为什么硬链接不能链接目录、文件inode 和目录 dentry 的区别联系

    我们对任何一个目录用ls -l 命令都可以看到其连接数至少是2,这也说明了系统中是存在硬连接的,而且命令ln -d 也可以让超级用户对目录作硬连接,这些都说明了系统限制对目录进行硬连接只是一个硬性规定 ...