疯狂的表单

2015/11/27 16:44:07

从三方面来介绍html5表单的新特性

表单结构更灵活

要提交数据的控件可以布局在form标签之外,看下面的代码,表单元素可以写到form元素之外,只需在元素中加入form="form1"属性,也可提交到form元素指定的服务器地址

  1. <body>
  2. <form action="upload.php" method="post" accept-charset="utf-8" id="form1">
  3. </form>
  4. <input type="text" name="username" value="" form="form1">
  5. <input type="submit" name="sub" value="提交" form="form1">
  6. </body>

新增表单元素

我们以前学过的表单元素包括“text”、“button”、“file”、"radio"等,html5中新增加了一些表单元素,下面列出这些元素及其作用

  • email 类型用于验证email的格式,当提交表单时会自动验证email域的值
  • url 类型用于验证 URL 地址的格式,当提交表单时会自动验证url域的值
  • number 类型会根据你的设置提供选择数字的功能,min属性设置最小值、max属性设置最大值,value属性设置当前值,step属性设定每次增长的值,某些浏览器还不支持
  • range 类型用于应该包含一定范围内数字值的输入域,其会以一个滑块的形式展现,min属性设置最小值、max属性设置最大值,value属性设置当前值,如果没有设置,则其默认值的范围是1-100
  • 日期和时间类型:HTML5 拥有多个可供选取日期和时间的新输入类型:
    date - 选取日、月、年
    month - 选取月、年
    week - 选取周和年
    time - 选取时间(小时和分钟)
    datetime - 选取时间、日、月、年(UTC 时间)
    datetime-local - 选取时间、日、月、年(本地时间)
  • search 类型用于搜索域,比如站点搜索或 Google 搜索,为其加上results="s"属性,则会在搜索框前面加上一个搜索图标
  • tel类型用于验证输入的是否是电话格式的内容,此元素现在还没有浏览器支持
  • color类型会提供一个颜色拾取器,供用户选择颜色,并将用户选择的颜色填充到此元素中

案例如下,大家可以将代码拷贝或者自己编写之后,在浏览器中查看效果

  1. <form action="upload.php" method="post" accept-charset="utf-8" id="form1">
  2. <br> 主页:
  3. <input type="url" name="url" value="" placeholder="个人主页" required>
  4. <br> 邮箱:
  5. <input type="email" name="email" value="" placeholder="邮箱" required>
  6. <br> 生日:
  7. <input type="date" name="date" value="" required>
  8. <br> 时间:
  9. <input type="time" name="time" value="" required>
  10. <br> 星期:
  11. <input type="week" name="week" value="" required>
  12. <br> 年龄:
  13. <input type="number" name="age" value="">
  14. <br> 薪水:
  15. <input type="range" name="range" value="">
  16. <br> 电话:
  17. <input type="tel" name="tell" value="" placeholder="都不支持">
  18. <br> 颜色:
  19. <input type="color" name="mycolor">
  20. <br>
  21. <input type="search" name="key" value="" results="s"><br>
  22. <input type="submit" name="sub" value="提交" form="form1">
  23. </form>

浏览器的支持情况

chrome:

firefox:

Opera:

Microsoft Edge:

好,我们对微软的进步进行表扬!

新增表单属性

除了新增的表单元素之外,html5中还新增了一些表单属性

新的 form 属性:

autocomplete
novalidate

新的 input 属性:

autocomplete
autofocus
form
form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)
height 和 width
list
min, max 和 step
multiple
pattern (regexp)
placeholder
required

在下面的案例中,我们对一些常用的属性做了解释,大家直接看代码和代码旁边的注释,然后对照浏览器的运行结果就理解其意义了

  1. <body>
  2. <!--
  3. placeholder:用于在文本框未输入时提示作用
  4. autofocus:用于控件自动获取焦点
  5. -->
  6. <input type="search" name="key" value="" results="s" placeholder="君乐宝" autofocus="true">
  7. <input type="button" name="" value="搜索">
  8. <br>
  9. <!--
  10. novalidate:在控件中加入了required、emial、url等验证后,如果想让这些验证失效,可以在表单中将novalidate设置为tyue
  11. -->
  12. <form action="upload.php" method="post" accept-charset="utf-8" id="form1" novalidate="true">
  13. <!--
  14. required:必填
  15. autocomplete:在网页的文本框中输入部分内容或者双节时,经常会看到在下面显示输入过的内容,
  16. 这就是html5的新特性:自动完成,如果不想使用此功能,将其设置为off即可
  17. -->
  18. <input type="text" name="UserName" value="" required autocomplete="off">
  19. <br>
  20. <!--
  21. multiple:在选择文件时,默认只能单选,加上这个属性后,则可以使用鼠标选中多个文件进行上传
  22. -->
  23. 选择文件
  24. <input type="file" name="upload" value="" multiple="multiple">
  25. <br>
  26. <!--
  27. list:这个属性要和datalist元素一起使用,指定此文本框的可选择项,另外其相较于select的优点在于还可以输入
  28. -->
  29. 区号:
  30. <input type="text" name="age" value="" list="list1">
  31. <br>
  32. <datalist id="list1">
  33. <option value="0312">保定</option>
  34. <option value="0311">石家庄</option>
  35. <option value="010">北京</option>
  36. <option value="0313">唐山</option>
  37. </datalist>
  38. <!--
  39. formaction:可以更改点击此按钮式提交到服务器的处理程序
  40. formmethod:可以更改向服务器提交数据的方式
  41. -->
  42. <input type="submit" name="subsave" value="提交">
  43. <input type="submit" name="subresset" value="更改" formaction="1.php" formmethod="get">
  44. </form>
  45. </body>

疯狂的表单-html5新增表单元素和属性的更多相关文章

  1. IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

    HTML5有一些新的表单元素:<datalist>.<keygen>.<output>.不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性, ...

  2. 【SQL Server复制】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?

    转自:https://www.cnblogs.com/happyday56/p/3849018.html 关键字:sql server复制 [SQL Server高可用性]数据库复制:修改表结构.新增 ...

  3. html5--select与HTML5新增的datalist元素

    html5--select与HTML5新增的datalist元素 学习要点 掌握select元素与datalist元素的使用 select元素 用来建立一个下拉菜单选项列表 不仅可以在表单中使用,还可 ...

  4. 【原】HTML5 新增的结构元素——能用并不代表对了

    做移动端有一段时间,今天有同事问了我 article 和 section 标签的使用,模模糊糊的解释了下,他似懂非懂,有点小尴尬.忽然间觉得自己有必要再翻翻书籍,重温下 html5 的新元素.html ...

  5. HTML5新增表单验证

    HTML5新增属性: 属性 描述 placeholder 提供一种提示,输入域为空时显示,获得焦点输入内容后消失 required 规定输入域不能为空 pattern 规定验证input域的模式(正则 ...

  6. HTML5新增Canvas标签及对应属性、API详解(基础一)

    知识说明: HTML5新增的canvas标签,通过创建画布,在画布上创建任何想要的形状,下面将canvas的API以及属性做一个整理,并且附上时钟的示例,便于后期复习学习!Fighting! 一.标签 ...

  7. HTML5新增video标签及对应属性、API详解

    知识说明: 比不上很牛的前端开发人员,但自始至终明白“万丈高楼平地起”,基础最重要,初学HTML5,稳固基础第一步,把最基本的整理下来,留下自己学习的痕迹.HTML5新增的video标签,将其属性以及 ...

  8. HTML5新增的结构元素

    HTML5的结构 一:新增的主体结构元素 在HTML5中,为了使文档的结构更加清晰明确,追加了几个与页眉,页脚内容区块等文档结构相关联的结构元素. 1.1article元素 article元素代表文档 ...

  9. Html5学习笔记1 元素 标签 属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. Java设计模式之装饰模式趣谈

    本文由码农网 – 鲁阿皓原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 前情提要:http://blog.csdn.net/baidu_30889437/article/details/ ...

  2. weekend110(Hadoop)的 第五天笔记

    (2015年1月24日) 课程目录 01-zookeeper1 02-zookeeper2 03-NN高可用方案的要点1 04-hadoop-HA机制的配置文件 05-hadoop分布式集群HA模式部 ...

  3. 【转】开始使用Mac OS X——写给Mac新人

    写这篇文档的原因有两个,一.身边使用Mac的朋友越来越多,经常会有人来咨询一些常见的使用问题,比如:“为什么把界面右上角的红色按钮叉掉,程序还没有关闭?”之类.而且我也不愿意看到很多人使用OSX时仅仅 ...

  4. Android应用开发学习之Selector

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来看一个通过selector动态改变ImageButton背景图片的例子,下图是该程序的运行效果: 该程序中 ...

  5. gwt中java与js的相互调用

    1. java通过jsni调用内部js Button button = new Button("java调用内部jsni的js方法"); button.addClickHandle ...

  6. C# winform如何在textbox中判断输入的是字母还是数字?

    1.用正规式using System.Text.RegularExpressions; string pattern = @"^\d+(\.\d)?$";if(Text1.Text ...

  7. C# richTextBox封装的一个打印的类

    附件 http://files.cnblogs.com/xe2011/CSharpWinForm_richTextBoxPrintClass.rar 在窗体上一个Richtextbox 控件 和3个按 ...

  8. 史上比较用心的纯代码实现 AutoLayout

    入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...

  9. 24小时学通LINUX内核系列

    http://www.cnblogs.com/lihuidashen/category/667475.html

  10. 如何使用JCA (J2EE 连接器架构)实现企业应用--转载

    JCA (J2EE 连接器架构,Java Connector Architecture)是对J2EE标准集的重要补充.因为它注重的是将Java程序连接到非Java程序和软件包中间件的开发.连接器特指基 ...