整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML5 表单元素

TML5 新的表单元素

HTML5 有以下新的表单元素:

  • <datalist>

  • <keygen>

  • <output>

注意:不是所有的浏览器都支持HTML5 新的表单元素,但是你可以在使用它们,即使浏览器不支持表单属性,仍然可以显示为常规的表单元素。

HTML5 <datalist> 元素

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

<datalist> 属性规定 form 或 input 域应该拥有自动完成功能。当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项:

使用 <input> 元素的列表属性与 <datalist> 元素绑定.

实例

<input> 元素使用<datalist>预定义值:

<inputlist="browsers"><datalistid="browsers"><optionvalue="Internet Explorer"><optionvalue="Firefox"><optionvalue="Chrome"><optionvalue="Opera"><optionvalue="Safari"></datalist>

HTML5 <keygen> 元素

<keygen> 元素的作用是提供一种验证用户的可靠方法。

<keygen>标签规定用于表单的密钥对生成器字段。

当提交表单时,会生成两个键,一个是私钥,一个公钥。

私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate)。

实例

带有keygen字段的表单:

<formaction="demo_keygen.asp"method="get">用户名: <inputtype="text"name="usr_name">加密: <keygenname="security"><inputtype="submit"></form>

尝试一下 »

HTML5 <output> 元素

<output> 元素用于不同类型的输出,比如计算或脚本输出:

实例

将计算结果显示在 <output> 元素:

<formoninput="x.value=parseInt(a.value)+parseInt(b.value)">0<inputtype="range"id="a"value="50">100 +<inputtype="number"id="b"value="50">=<outputname="x"for="a b"></output></form>

HTML5 新表单元素

标签描述
<datalist><input>标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。
<keygen>><keygen> 标签规定用于表单的密钥对生成器字段。
<output><output> 标签定义不同类型的输出,比如脚本的输出。

如您还有不明白的可以在下面与我留言或是与我探讨QQ群{{308855039,我们一起飞!

们已经学过了很多标签及标签属性了,这节课我们还要学一些HTML5对表单这一块做了专门的修改,就是增加了一些新的标签和新的属性。让表单结构更灵活。我们通过以下这几方面给大家讲解。

√新增表单元素

√新增表单属性-input属性

好了废话不多说,直接看代码吧!

一、 新增表单元素

a)email:用于输入单一email地址或者email地址列表,提交表单的时候验证输入值是否满足email格式。

b).url: 用于处理URL,在iPhone中非常好用,会出现对应的键盘布局,提交表单的时候验证输入值是否满足url的格式。

c).number:用于包含数字值的输入字段。您可以设置可接受数字的限制。根据你的设置提供选择数字的功能,其中min最小值,max为最大值

d).range:会以一个滑块的形式表现,包含一定范围内数字值的输入域,max为最大值,min为最小值,value为默认值,如果没有设置max和min,默认值是1-100

e).search:用于显示一个输入搜索关键字的表单,若加上result=”s”属性,则会在搜索框前面加一个搜索图标。

f).tel:用于输入电话号码,验证输入的是否是电话号码的格式。(以PC端无效果,在移动端使用该框时,会切换到数字键盘)

g).color:color类型会提供颜色拾取器,供用户选择颜色,并将用户选择的颜色填充到此元素中。

h).date:用于日期选择的表单域,支持日期,月份,周。日期和时间类型

综合案例:

页面显示效果

二、新增表单元素属性(主讲input新增的属性)

a).autofocus: 在打开页面时使元素自动获取焦点 常给input,button,select,textarea 等标签使用

<input type="password" name="pwd" autofocus="autofocus"/>

给密码框使用之前

给密码框使用之后

b). placeholder: 在用户输入时进行提示常应用在input,textarea等标签

<input type="text" name="name" placeholder="请输入公司名称" />

c). required: 表明该元素是必填项,当提交表单的时候会自动验证该元素的内容是否不为空 常给

input,textarea等标签使用。

<input type="text" name="url" required="required" />

d). max/min/step限制值的输入范围,以及值的变化程度。新增number元素有介绍。 常给input标签使用。

<input type="number" name="age" step="5" min="10" max="25"/>

e). autocomplete:使form元素或者input元素拥有自动完成功能,既记录用户之前输入的值,

关闭为off,默认为on。 常给form,input使用

<input type="url" name="url" autocomplete="off"/>

值为off时:

值为no时:

f). multiple: 在选择文件时,默认只能单选,加上这个属性后,则可以使用鼠标选中多个文件进行上传,或者给select标签使用

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

h). formaction:重写表单的action属性, formmethod: 重写表单的method属性.

<input type="submit" value="提交" formaction="demo.html"

formmethod="post"/>

i). list特性和datalist 选值列表list属性的值为datalist元素的id,datalist元素类似于选择框,在文本框获

得焦点的时候以提示输入的方式显示。

地址:<input type="text" list="item" name="address"/>

<datalist id="item">

<option value="1">北京</option>

<option value="2">上海</option>

<option value="3">深圳</option>

</datalist>

显面效果:

j).新增form属性

在我们之前的html中,表单元素必须放在form元素所包含的里面,在html5中,可以把他们写在页面上的任何一个地方,然后给该元素增加一个form属性,form属性的值为form表单的id。在form元素里面的表单元素可以不用添加form属性,如果你想利用form获取所有表单元素的值,那么在form元素外面的表单元素就必须添加form属性,input、select、textarea等元素都满足该功能。

代码:

以后我们再写页面的时候可以使用新增的标签及属性了,有了这些标签及属性对于我前端的开发人员来说,真是一大幸事啊!

H5 诞生以来,在 html4.0 中有些元素已被 H5 废弃,但是在 H5 中添加了很多新元素以及功能,今天我们学习 H5 中新增的元素和属性都有哪些?

新增语义结构标签

标签

描述

<article>

定义页面独立的内容区域。

<aside>

定义页面的侧边栏内容。

<bdi>

允许您设置一段文本,使其脱离其父元素的文本方向设置。

<command>

定义命令按钮,比如单选按钮、复选框或按钮

<details>

用于描述文档或文档某个部分的细节

<dialog>

定义对话框,比如提示框

<summary>

标签包含 details 元素的标题

<figure>

规定独立的流内容(图像、图表、照片、代码等等)。

<figcaption>

定义 <figure> 元素的标题

<footer>

定义 section 或 document 的页脚。

<header>

定义了文档的头部区域

<mark>

定义带有记号的文本。

<meter>

定义度量衡。仅用于已知最大和最小值的度量。

<nav>

定义导航链接的部分。

<progress>

定义任何类型的任务的进度。

<ruby>

定义 ruby 注释(中文注音或字符)。

<rt>

定义字符(中文注音或字符)的解释或发音。

<rp>

在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。

<section>

定义文档中的节(section、区段)。

<time>

定义日期或时间。

<wbr>

规定在文本中的何处适合添加换行符。

新增标签使用时根据描述内容,在适当的地方使用新标签,应用的时候和其他标签是一样的,H5 新增标签使得网页结构更清晰明了,建议大家使用新增元素。

新增表单元素

标签

描述

<datalist>

<input>标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。

<keygen>

<keygen> 标签规定用于表单的密钥对生成器字段。

<output>

<output> 标签定义不同类型的输出,比如脚本的输出。

<datalist>属性规定form或input域应该拥有自动完成功能,当input聚焦时,浏览器应该在域中显示填写的选项。

使用 input 元素与 datalist 元素绑定,使用时如下:

<form action="">
 <input type="text" list="schooltype">
 <datalist id="schooltype">
  <option value="欧亚驾校">欧亚驾校</option>
  <option value="鹏程驾校">鹏程驾校</option>
  <option value="学车网">学车网</option>
 </datalist>    
</form>

<keygen>元素用于提供用户验证的方法,表单提交时,keygen生成表单密钥对,一个是公钥,一个是私钥,私钥存储在客户端,公钥通过带有keygen字段的表单发送给服务器。目前已被H5废弃,我们作为了解就好。

使用实例如下:

<form action="">
 用户名<input type="text" name="user" /><br>
 密码<input type="password" name="se"> <br>
 加密<keygen name="security"><br>
 <input type="submit" value="提交">
</form>

<output>元素用于不同类型的输出,对输出结果的展示,如对两个数值相加,并展示结果,代码如下:

<form action="" oninput = "x.value=parseInt(a.value)+parseInt(b.value)">
 <input type="range" id="a" step="1" min="0" max="100"> + 
 <input type="text" id="b" value="50">=
 <output name="x" ></output> 
</form>

上述form处添加oninput事件,对数值parseInt进行取整运算。

新增表单属性

H5中新增表单属性指 form 和 input 元素新增属性。

form新属性及意义

  • autocomplete :规定form域自动完成功能。
  • novalidate :规定提交表单时是否验证域。

input新增类型和属性

新的输入类型

新的输入属性

  • color
  • date
  • datetime
  • datetime-local
  • email
  • month
  • number
  • range
  • search
  • tel
  • time
  • url
  • week
  • autocomplete
  • autofocus
  • form
  • formaction
  • formenctype
  • formmethod
  • formnovalidate
  • formtarget
  • height 和 width
  • list
  • min 和 max
  • multiple
  • pattern (regexp)
  • placeholder
  • required
  • step

input 和 form 的 autocomplete属性

属性规定 form 或 input 在当前域下拥有自动完成功能,通俗地讲就是元素聚焦时,会自动展示之前输入过的内容,内容是根据当前域名下之前使用过的数据。示例如下:

<form action="demo_form.asp" method="get" 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="on" /><br />
 <input type="submit" />
</form>

页面上显示如图:


表单重写属性:

  • formaction - 重写表单的 action 属性
  • formenctype - 重写表单 enctype 属性
  • formmethod - 重写表单 method 属性
  • formnovalidate - 重写表单 novalidate 属性
  • formtarget - 重写表单的 target 属性

min、max、step属性

三者用于对数字、日期类型输入框的限制和约束。

  • min - 规定允许设置的最小值。
  • max - 规定允许设置的最大值。
  • step - 规定合法的数字间隔。

使用示例,请参照上output处的实例。

multipel属性:规定输入域中可选择多个值。适用于 email 和 file 两种类型。

pattern属性:验证input域的模式。模式pattern是正则表达式,适用于text、search、url、email、password。

废除的标签

以下是一些在H5中已废弃的元素。

acronym、applet、basefont、big、center、dir、font、frame、frameset、noframes、strike、tt。