20、HTML5 新表单元素及表单属性

<datalist> 元素

<datalist> 元素规定输入域的选项列表

<datalist> 标签被用来在为 <input> 元素提供"自动完成"的特性

用户能看到一个下拉列表,里边的选项是预先定义好的,将作为用户的输入数据,当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项

请使用 <input> 元素的 list 属性来绑定 <datalist> 元素

实例 --->

<form action="demo-form.php" method="get">
<input list="browsers" name="browser">
<datalist id="browsers">
  <option value="Internet Explorer">
  <option value="Firefox">
  <option value="Chrome">
  <option value="Opera">
  <option value="Safari">
</datalist>
<input type="submit">
</form>

运行效果

 

 

 

HTML5 新的表单属性

HTML5 的 <form> 和 <input>标签添加了几个新属性.

<form>新属性:

  • autocomplete
  • novalidate

<input>新属性:

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

 

 

<form> / <input> autocomplete 属性

autocomplete 属性规定 form 或 input 域应该拥有自动完成功能

当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项

提示: autocomplete 属性有可能在 form元素中是开启的,而在input元素中是关闭的

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

<form action="demo-form.php" 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>

运行效果

 

 

<form> novalidate 属性

novalidate 属性是一个 boolean(布尔) 属性

novalidate 属性规定在提交表单时不应该验证 form 或 input 域

<form action="demo-form.php" novalidate>
E-mail: <input type="email" name="user_email">
<input type="submit">
</form>

<p><strong>注意:</strong>在 Safari 和 Internet Explorer 9 及之前的版本中不支持 novalidate 属性。</p>

运行结果

 

 

<input> autofocus 属性

autofocus 属性是一个 boolean 属性

autofocus 属性规定在页面加载时,域自动地获得焦点

<form action="demo-form.php">
  First name: <input type="text" name="fname" autofocus><br>
  Last name: <input type="text" name="lname"><br>
  <input type="submit">
</form>
<p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 标签的 autofocus 属性。</p>

运行结果

 

 

<input> formaction 属性

The formaction 属性用于描述表单提交的URL地址

The formaction 属性会覆盖<form> 元素中的action属性

注意: The formaction 属性用于 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="提交"><br>
  <input type="submit" formaction="demo-admin.php" value="提交">
</form>
<p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 标签的 formaction 属性。</p>

运行结果

 

 

<input> formenctype 属性

formenctype 属性描述了表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)

formenctype 属性覆盖 form 元素的 enctype 属性

主要: 该属性与 type="submit" 和 type="image" 配合使用

<form action="demo-post-enctype.php" method="post">
  First name: <input type="text" name="fname"><br>
  <input type="submit" value="提交">
  <input type="submit" formenctype="multipart/form-data" value="以 Multipart/form-data 提交">
</form>

<p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 标签的 formenctype 属性。</p>

运行结果

 

 

<input> formmethod 属性

formmethod 属性定义了表单提交的方式

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="提交">
  <input type="submit" formmethod="post" formaction="demo-post.php" value="使用 POST 提交">
</form>

<p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本不支持 input 标签的 formmethod 属性。</p>

运行结果

 

 

<input> formnovalidate 属性

novalidate 属性是一个 boolean 属性

novalidate属性描述了 <input> 元素在表单提交时无需被验证

formnovalidate 属性会覆盖 <form> 元素的novalidate属性

注意: formnovalidate 属性与type="submit一起使用

<form action="demo-form.php">
  E-mail: <input type="email" name="userid"><br>
  <input type="submit" value="提交"><br>
  <input type="submit" formnovalidate="formnovalidate" value="不验证提交">
</form>

<p><strong>注意:</strong> Internet Explorer 9及更早 IE 版本,或 Safari 不支持 input 标签的 formnovalidate 属性。</p>

运行效果

 

posted @ 2018-03-11 14:06  FullStack~ELF  阅读(131)  评论(0)    收藏  举报