HTML5新增表单元素和表单属性

  • 新表单元素
    <datalist> 选项列表。与 input 元素配合使用,定义 input 可能的值
    <keygen> 用于表单的密钥对生成器字段
    <output> 不同类型的输出,比如脚本的输出。
  1. <datalist>
    Safari和IE9以下不支持<datalist>,
    <datalist>规定了输入域的选项内容 ,与input元素配合使用,定义input输入域的选项内容。
<form action="" method="">
<input list="browsers"><!-- 通过使用input里面的一个属性list,跟datalist的id相联系-->
<datalist id="browsers">
  <option value = "Internet Explorer">
  <option value = "Firefox">
  <option value = "Chrome">
  <option value = "Safari">
  <option value = "Opero">
</datalist>
</form>
  1. <keygen>
    IE完全不支持
    作用:提供一种验证用户的可靠方法
    用于表单的密钥对生成器字段,当提交表单时,会生成两个键,一个是私钥,一个公钥。
    私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate)。
<form action="" method="get">
  用户名: <input type="text" name="usr_name">
  加密: <keygen name="security">
  <input type="submit">
</form>
  1. <output>
    IE完全不支持
    用于不同类型的输出,比如计算或脚本输出:
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
  <input type="range" id="a" value="50">100
  +<input type="number" id="b" value="50">
  =<output name="x" for="a b"></output>
</form>
  • 新表单属性
  1. <form>新属性:
  • autocomplete 自动完成
    当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
    autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color。
    注:Opero不支持
<form action="" method="" autocomplete="on">
    FirstName:<input type="text" name="fname"><br>
    LastName:<input type="text" name="lname"><br>
    E-mail:<input type="email" name="email" autocomplete="off"><br>
    <input type="submit" name="">
</form>
image.png
  • novalidate不验证数据
    在提交表单时,不验证 form 或 input 里的东西。
    如,在一般情况下,input的类型是email,会有验证:
    image.png

    如果设置novalidate
<form action="" method="" novalidate="novalidate">
    E-mail:<input type="email" name="email">
    <input type="submit" name="">
</form>
如果设置了novalidate,可以不验证,直接提交了

注:Safari不支持

  1. <input>新属性:
  • autocomplete 自动完成
  • autofocus 自动获得焦点
FirstName:<input type = "text" name = "fname" autofocus/>
在页面加载时,自动地获得焦点。
  • form 所属哪个form 表单
    一般表单外的input字段使用form属性,来表示此input是哪个表单的一部分:
    注意:IE不支持
<form action="" id="form1">
First name: <input type="text" name="fname"><br>
<input type="submit" value="提交">
</form>

<p> "Last name" 字段没有在form表单之内,但它也是form表单的一部分。当表当提交的时候会一起提交</p>

Last name: <input type="text" name="lname" form="form1">

<p><b>注意:</b> IE不支持form属性</p>
  • formaction 用于描述表单提交的URL地址,会覆盖<form> 元素中的action属性.
    用于input的type="submit" 和 type="image"的元素
    以下表单包含了两个不同地址的提交按钮:
<form action="demo-form.php"> 
 First name: <input type="text" name="fname"><br> 
 Last name: <input type="text" name="lname"><br> 
 <input type="submit" value="Submit"><br> 
 <input type="submit" formaction="demo-admin.php" 
  value="Submit as admin"> 
</form> 
  • formenctype 表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)
    会覆盖 form 元素的 enctype 属性。
    注意: 该属性与input的type="submit" 和 type="image" 配合使用。
    如:
<form action="demo-post_enctype.php" method="post"> 
 First name: <input type="text" name="fname"><br> 
 <input type="submit" value="Submit"> 
 <input type="submit" formenctype="multipart/form-data" 
  value="Submit as Multipart/form-data"> 
</form> 

第一个提交按钮已默认编码发送表单数据,第二个提交按钮以 "multipart/form-data" 编码格式发送表单数据

  • formmethod 表单提交方式,会覆盖 <form> 的method 属性。
    注意: 该属性可以与 type="submit" 和 type="image" 配合使用。
    如:重新定义表单提交方式:
<form action="demo-form.php" method="get"> 
 First name: <input type="text" name="fname"><br> 
 Last name: <input type="text" name="lname"><br> 
 <input type="submit" value="Submit"> 
 <input type="submit" formmethod="post" formaction="demo-post.php" 
  value="Submit using POST"> 
</form>   
  • formnovalidate 表单提交无需被验证,会覆盖 <form> 元素的novalidate属性.
    注意: formnovalidate 属性与type="submit"一起使用
<form action=""> 
 E-mail: <input type="email" name="userid"><br> 
 <input type="submit" value="Submit"><br> 
 <input type="submit" formnovalidate value="Submit without validation"> <!-- 提交的时候不验证 -->
</form>   
  • formtarget 表单提交数据接收后,怎么的展示。
    会覆盖 <form>元素的target属性.
    注意: formtarget 属性与type="submit" 和 type="image"配合使用.
<form action="/statics/demosource/demo-form.php">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  <input type="submit" value="正常提交">
  <input type="submit" formtarget="_blank" value="提交到一个新的页面上">
</form>
  • <input> height 和 width 属性, 仅用于<input> 标签type="image"的图像高度和宽度
    注意: height 和 width 属性只适用于 image 类型的<input> 标签。
    提示:图像通常会同时指定高度和宽度属性。如果图像设置高度和宽度,图像所需的空间 在加载页时会被保留。如果没有这些属性, 浏览器不知道图像的大小,并不能预留 适当的空间。图片在加载过程中会使页面布局效果改变 (尽管图片已加载)。
<form action="/statics/demosource/demo-form.php">
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  <input type="image" src="/statics/images/submit.gif"  alt="Submit" width="48" height="48">
</form>

  • list 表示input输入域的 datalist(datalist 是输入域的选项列表)
<input list="browsers"> 

<datalist id="browsers"> 
  <option value="Internet Explorer"> 
  <option value="Firefox"> 
  <option value="Chrome"> 
  <option value="Opera"> 
  <option value="Safari"> 
</datalist> 
  • **min max step ** 用来给input 类型为数字或日期的添加限定约束的,最大最下值;
    注意: min、max 和 step 属性适用于以下类型的 <input> 标签:date pickers、number 以及 range。
<!--Enter a date before 1980-01-01: -->
<input type="date" name="bday" max="1979-12-31"> 

<!--Enter a date after 2000-01-01: -->
<input type="date" name="bday" min="2000-01-02"> 

<!--Quantity (between 1 and 5): -->
<input type="number" name="quantity" min="1" max="5"> 
  • multiple 多种多样表示<input> 元素中可选择多个值。
    注意: multiple 属性适用于以下类型的<input> 标签type="email" 和 type="file"
<form action="/statics/demosource/demo-form.php">
  选择图片: <input type="file" name="img" multiple>
  <input type="submit">
</form>

<p>尝试选取一张或者多种图片。</p>
  • pattern 正则表达式用于验证<input> 元素的值。
    注意:pattern 属性适用于以下类型的<input> 标签: text, search, url, tel, email, 和 password.
<!--一个只能包含三个字母的文本域(不含数字及特殊字符):-->
Country code: <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">
  • placeholder 占位提供一种提示(hint),描述输入域所期待的值。
    注意: placeholder 属性适用于以下类型的<input> 标签:text, search, url, telephone, email 以及 password。
<input type="text" name="fname" placeholder="First name"> 
  • required 被要求的,必须的, 规定必须在提交之前填写输入域(不能为空)。
    注意:required 属性适用于以下类型的<input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。
<!--不能为空的input字段:-->
Username: <input type="text" name="usrname" required>
  • step 步伐、一步、步长,规定输入域合法的数字间隔
    提示: step 属性可以与 max 和 min 属性创建一个区域值.
    注意: step 属性与以下type类型一起使用: number, range, date, datetime, datetime-local, month, time 和 week.
<input type="number" name="points" step="3"> 
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • HTML5 新的表单元素 HTML5 有以下新的表单元素: < datalist> 注意:不是所有的浏览器都支持H...
    hx永恒之恋阅读 608评论 0 2
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,828评论 0 0
  • html5新增了许多表单属性。这里主要分为 属性和 属性,当然还有关于checkbox的和label标签的属性我们...
    便U_Life阅读 2,068评论 0 8
  • 1、HTML5 新的表单属性 HTML5 的 和 标签添加了几个新属性. 新属性:autocompleten...
    maskerII阅读 280评论 0 0
  • HTML5 新的表单属性HTML5的 和 标签添加了几个新的属性<from>新属性:1.autocomplete2...
    龍飝阅读 561评论 0 1