目标:详解表单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. iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 路由koa-router

    路由koa-router--MVC 中重要的环节:Url 处理器

  2. 分布式系统的消息&服务模式简单总结

    分布式系统的消息&服务模式简单总结 在一个分布式系统中,有各种消息的处理,有各种服务模式,有同步异步,有高并发问题甚至应对高并发问题的Actor编程模型,本文尝试对这些问题做一个简单思考和总结 ...

  3. Flink升级到1.4版本遇到的坑

    Flink 1.4没出来以前,一直使用Flink 1.3.2,感觉还算稳定,最近将运行环境升级到1.4,遇到了一些坑: 1.需要将可运行程序,基于1.4.0重新编译一次 2.对比了一下flink-co ...

  4. 实现我博客旁边的线条效果 html canvas-nest.js 源码

    canvas-nest.js 这个js文件可以用来实现炫酷的线条与鼠标进行交互的功能,具体效果如图所示 js具体源码如下: /** * Copyright (c) 2016 hustcc * Lice ...

  5. iOS 实现UIImageView 的不停的旋转(更新:2017.7.26)

    1.先创建一个UIImageView. - (void)createImageView { UIImageView *imageView = [[UIImageView alloc] initWith ...

  6. jsp程序设计:jstl之JSTL标签库

    转载自:http://www.blogjava.net/haizhige/archive/2008/10/26/236783.html,个人进行了一些修改. 前言:写一个taglib一般可以继承Sim ...

  7. nova创建虚拟机源码系列分析之二 wsgi模型

    openstack nova启动时首先通过命令行或者dashborad填写创建信息,然后通过restful api的方式调用openstack服务去创建虚拟机.数据信息从客户端到达openstack服 ...

  8. Linux第五节随笔 /file / vim / suid /sgid sbit

    三期第四讲1.查询文件类型与文件位置命令 file 作用:查看文件类型(linux下的文件类型不以后缀名区分) 语法举例: [root@web01 ~]# file passwd passwd: AS ...

  9. Cleaner, more elegant, and harder to recognize (msdn blog)

    It appears that some people interpreted the title of one of my rants from many months ago, "Cle ...

  10. Webservice接口的调用

    一.开发webservice接口的方式 1.jdk开发. 2.使用第三方工具开发,如cxf.shiro等等. 我这边介绍jdk方式webservice接口调用. 二.使用jdk调用webservice ...