html5之新增表单属性

html5新增了许多表单属性。这里主要分为<form>属性和<input>属性,当然还有关于checkbox的和label标签的属性我们都会一一解答。接下来正式进入充饥时间:

<form>属性

1.autocomplete

autocomplete顾名思义就是自动完成属性,用户在自动完成域种输入时,浏览器会在该域显示填写的选项,这些选项可以说浏览器的历史记录也可以时该域绑定的list属性(后面会讲)。autocomplete默认是“on”也就是开启的意思,当我们要关闭时可以在某个表单元素添加autocomplete=“off”。代码如下:

<!DOCTYPE html> 
<html lang="en"> 
<body> 
    <form action="action" autocomplete="on">
      First name:<input type="text" name="fname"><br>
      Last name: <input type="text" name="lname"><br>
      E-mail: <input type="email" name="email" autocomplete="off"><br>
      <input type="submit">
    </form> 
</body>
</html>

注意:autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color。

2.novalidate

novalidate属性是一个boolean属性,该属性指定是否验证input域或者提交表单时是否检查表单数据符合要求。代码如下:

<!DOCTYPE html>
<html>
<body>
    <form action="action" >
        E-mail: <input type="email" required='required' name="user_email">
        <input type="submit">
    </form>
</body>
</html>

<input>属性

1.autofocus

autofocus是一个boolean属性,autofocus 属性规定在页面加载时,域自动地获得焦点。代码如下:

<!DOCTYPE html>
<html>
<body>
    <form action="action">
        姓名: <input type="text" name="fname" autofocus><br>
        密码: <input type="text" name="lname"><br>
      <input type="submit">
    </form>
</body>
</html>

2.form

form 属性规定输入域所属的一个或多个表单。当我们将一个表单域写在某一个表单外面时,我们可以通过form属性来指定某个表单的id进行绑定。同时可以绑定多个表单,每个表单直接用空格分隔。代码如下:(IE可能不支持form属性)

<!DOCTYPE html>
<html>
<body>
    <form action="action" id="form1">
        姓名: <input type="text" name="fname"><br>
        <input type="submit" value="Submit">
    </form>
      <!-- 以下input在id='form1'的外面,由于我们使用form属性绑定,提交时将把该表单元素的值一起提交-->  
     密码: <input type="text" name="lname" form="form1">
</body>
</html>

3.formaction

formaction用于<button>和<input>但是其type是submit类型的按钮和type是image的按钮,意味着提交时所指向的url地址。该属性会覆盖 form表单的action指向的url地址。代码如下:

<!DOCTYPE html>
<html>
<body>
   <form action="URL1">
        姓名: <input type="text" name="fname"><br>
        密码: <input type="text" name="lname"><br>
         <input type="submit" value="Submit"><br>
   <button type="submit" formaction="URL2">button</button>
</form>
</body>
</html>

注意:Internet Explorer 9及更早IE版本不支持input标签的 formaction 属性。

4.formenctype

formenctype 属性描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单).formenctype 属性覆盖 form 元素的 enctype 属性。
注意:该属性与 type="submit" 和 type="image" 配合使用。代码如下:

<!DOCTYPE html>
<html>
<body>
    <form action="URL1">
         姓名: <input type="text" name="fname"><br>
         密码: <input type="text" name="lname"><br>
         <input type="submit" value="Submit">
         <input type="submit" formenctype="multipart/form-data"
  value="Submit as Multipart/form-data">
</form>
</body>
</html>

5.formnovalidate

formnovalidate和novalidate是一个意思,都是描述表单域是否被验证。只是novalidate是指定一个form表单,而formnovalidate是指定到一个表单域上,覆盖
novalidate。注意:该属性与 type="submit" 和 type="image" 配合使用。代码如下:

<!DOCTYPE html>
<html>
<body>
    <form action="URL1">
         姓名: <input type="text" name="fname"><br>
         密码: <input type="text" name="lname"><br>
         <input type="submit" value="Submit">
         <input type="submit" formnovalidate value="Submit without validation">
</form>
</body>
</html>

6.formmethod

formmethod是指定了表单提交的方式,覆盖表单的method属性。
注意:该属性可以与 type="submit" 和 type="image" 配合使用。使用方法和前面一样,在此不展示了。

7.formtarget

属性指定一个名称或一个关键字来指明表单提交数据接收后的展示。,覆盖表单的target 属性。可以是formtarget =“_slef”当前窗口打开,formtarget =“_blank”新窗口打开。注意:该属性可以与 type="submit" 和 type="image" 配合使用。使用方法和前面一样,在此不展示了。

8.height 和 width

针对<input>type=“image”的表单元素,规定了标签图像的高和宽。
注意: height 和 width 属性只适用于 image 类型的<input> 标签。
提示:图像通常会同时指定高度和宽度属性。如果图像设置高度和宽度,图像所需的空间 在加载页时会被保留。如果没有这些属性, 浏览器不知道图像的大小,并不能预
留 适当的空间。图片在加载过程中会使页面布局效果改变 (尽管图片已加载)。代码如下:

<!DOCTYPE html>
<html>
<body>
    <form action="URL1">
         姓名: <input type="text" name="fname"><br>
         密码: <input type="text" name="lname"><br>
       <input type="image" src="img_submit.gif" alt="Submit" width="48" height="48">
</form>
</body>
</html>

9.list

list属性需要与datalist标签进行绑定,指定为datalist的id属性。list属性指定了input域的预选列表。注意:Internet Explorer 9(更早IE版本),Safari不支持 datalist 标签。代码如下:

<!DOCTYPE html>
<html>
<body>
<form action="action" method="get">
<input list="browsers" name="browser" autocomplete>
<datalist id="browsers">
  <option value="Internet Explorer">
  <option value="Firefox">
  <option value="Chrome">
  <option value="Opera">
  <option value="Safari">
</datalist>
<input type="submit">
</form>
</body>
</html>

10.min 和 max

min和max规定input输入的上限和下限,min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)。注意: min、max 和 step 属性适用于以下类型的 <input> 标签:date 、number 以及 range。代码如下:

<!DOCTYPE html>
<html>
<body>
<form action="action" method="get">
   输入1980-01-01之前的日期:
  <input type="date" name="bday" max="1979-12-31">
   输入2000-01-01之后的日期:
  <input type="date" name="bday" min="2000-01-02">
   输入1到5区间的数字
   <input type="number" name="quantity" min="1" max="5">
   <input type="submit">
</form>
</body>
</html>

11.step

step 属性为输入域规定合法的数字间隔。如果 step="3",则合法的数是 -3,0,3,6 等。提示: step 属性可以与 max 和 min 属性创建一个区域值.
注意: step 属性与以下type类型一起使用: number, range, date, datetime, datetime-local, month, time 和 week。

step.png
代码如下:

<!DOCTYPE html>
<html>
<body>
<form action="action" method="get">
   <!-- 增长步长为3 -->
   <input type="number" name="points" step="3">
   <!-- 页面打开时时间的最小单位变成了1分钟,而且点击元素旁边的增减幅按钮,时间的增减幅度也变成了1分钟。强行在元素中加入秒,然后点击提交按钮,浏览器提示输入不正确 -->
   <input type="datetime" id="datetime"step="60">
   <input type="submit">
</form>
</body>
</html>

12.multiple

multiple 属性是一个 boolean 属性.multiple 属性规定<input> 元素中可选择多个值。
注意: multiple 属性适用于以下类型的 <input> 标签:email 和 file。: email, and file.

<input type="file" name="img" multiple>

13.pattern

pattern 属性描述了一个正则表达式用于验证 <input> 元素的值。是用来全局 title 属性描述了模式。
注意:pattern 属性适用于以下类型的 <input> 标签: text, search, url, tel, email, 和 password。

<!-- 输入3个字母 -->
 <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="输入3个字母">

14.placeholder

placeholder 属性提供一种提示(hint),描述输入域所期待的值。在没有输入的时候提供表单的默认值。
注意:placeholder 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。

<input type="text" name="fname" placeholder="Hello">

15.required

required 属性是一个 boolean 属性.required 属性规定必须在提交之前填写输入域(不能为空)。
注意:required 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。

Username: <input type="text" name="usrname" required>

其他属性

1.<fieldset>—disabled

html5为 fieldset元素增加了disabled属性,可以把它的子元素设为disabled状态,但是注意不包括legend里的元素。我们通过代码了解:

<!DOCTYPE html>
<html>
<meta  charset="utf-8">
<body>
<form>
    <fieldset name="userInfo">
        <legend>
            <label><input type="checkbox" checked name="enableUserInfo" onchange="form.userInfo.disabled=!checked">启用用户信息</label>
        </legend>
        <p>
            <label>姓名:<input name="userName" required></label>
        </p>
        <fieldset name="personalInfo">
            <legend>
                <label><input type="checkbox" checked  name="enablePersonalInfo" onchange="form.personalInfo.disabled=!checked">个人信息</label>
            </legend>
            <p>
                <label>生日:<input name="birthday" required></label>
            </p>
        </fieldset>
        <fieldset name="companyInfo">
            <legend>
                <label><input type="checkbox" checked name="enableCompanyInfo" onchange="form.companyInfo.disabled=!checked">公司信息</label>
            </legend>
            <p>
                <label>公司名称:<input name="companyName" required></label>
            </p>
        </fieldset>
    </fieldset>
</form>
</body>
</html>

2.<label>—control

html5中为标签新增了control属性,在标签内部放置一个表单元素,通过标签的control属性访问该表单元素。一般情况下我们用了设置默认值。代码如下:

<!DOCTYPE html>
<html>
<meta  charset="utf-8">
<body>
<script>
    function setValue(){
        var label=document.getElementById("label");
        var textbox=label.control;
        textbox.value="718308";
    }
</script>
    <form>
        <label id="label">
            邮编:
            <input id="txt_zip" maxlength="6">
            <small>请输入6位数字</small>
        </label>
        <input type="button" value="设置默认值" onclick="setValue()">
    </form>
</body>
</html>

3.SelectionDirection

selectionDirection适用于input元素和textarea元素。
用户在input元素或textarea元素中用鼠标选取部分文字时,可以使用该属性来获取选取方向。当用户正向选取文字时,该属性值为"forward",反向选取值为“backward”,且当用户没有选取任何文字时,该属性值为"forward"。代码如下:

<!DOCTYPE html>
<html>
<meta  charset="utf-8">
<body>
<script type="text/javascript">
    function alertSelectionDirection(){
        var testInput=document.getElementById("test");
        var direction=testInput.selectionDirection;
        alert(direction);
    }
</script>
<form>
    <input type="text" name="text" id="test">
    <input type="button" value="查看选中文本方向" onclick="alertSelectionDirection()"> 
</form>
</body>
</html>

提示:还有一些不常用的属性这里就不做讲解了,因为多多少少都有一些兼容性问题比如:复选框的indeterminate属性!大家自行学习吧,在我看来不必都掌握,我们现阶段就只是熟悉html5。

好了今天就写到这里,大家有任何疑问都可以评论,我会及时回复!谢谢观看。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,633评论 18 139
  • HTML5 新的表单元素 HTML5 有以下新的表单元素: < datalist> 注意:不是所有的浏览器都支持H...
    hx永恒之恋阅读 610评论 0 2
  • 接上 关于HTML/HTML5(一)http://www.jianshu.com/p/33fc7840c079 学...
    Amyyy_阅读 787评论 0 4
  • 这一天是我最难忘多日子。从这一刻起我的无论是工作还是生活、人生中的未来路。其实我觉得人生中的路是永远走不完的。列如...
    倩倩年华阅读 397评论 1 2
  • 1.关于制定目标 目标可以高远,但计划一定要接地气,尤其是第一步怎么做至关重要。很多人空有美好的愿景,最终无法实现...
    進无尽阅读 295评论 0 1