Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Html5 学习系列(三)增强型表单标签

Html5 学习系列(三)增强型表单标签

作者头像
老马
发布于 2022-05-10 08:12:18
发布于 2022-05-10 08:12:18
1.2K00
代码可运行
举报
文章被收录于专栏:老马寒门IT老马寒门IT
运行总次数:0
代码可运行

引言

     在之前的HTML表单标签中,对于一些功能支持的不够好,比如:文本框提示信息(之前只能通过js和input的事件结合处理)、表单校验、日期选择控件、颜色选择控件、范围控件、进度条、标签跨表单等功能。当然这些东西我们都可以直接通过js和dom元素配合实现这些通用的功能。这些功能或者是标签都已经大量的使用在了现代的Web应用中,而这些公共性的东西在早期的HTML标准没有直接的标准支持,而在HTML5中,新标准直接把这些常用的基本的功能直接加入的新的表单标签中,真正把表单功能异常的强大,那就跟我走一下HTML5智能表单之旅吧!

     由于最新版本的Opera浏览器对新型表单支持的最为完美,所以建议本blog或者以下示例请在Opera浏览器上打开.

HTML5新增加表单标签

     新的标准中添加了很多输入型控件,比如:Number、URL、Email、Range、Color等。而他们都是以 input标签的type属性出场,那下面我一一简单介绍一下。[以下所有的例子请用Opera浏览器浏览]

1)只能输入数字的Number类型input标签

Html代码为:<input type="number" name="demoNumber" min="1" max="100" step="2"/>

运行效果:

:此标签其实就是普通的input标签,只不过是type类型指向了number,标识当前标签接受数字类型输入.另外添加了四个属性.

name:属性大家很熟悉了用来标识表单提交时的key值

min:是表单标签新增加的属性标识当前输入框输入的最小值

max:那就是最大值了

step:是步长的意思,也就是在点击增大或者减小的时候的增加减少的步长

小结:min,max,step是表单标签中添加的新的属性。另外就是type又增加了一个新的number类型,接受数字输入。而之前我们要做到这样的效果只能通过js在失去焦点时候判断,控制起来不那么方便,现在一切都那么简单简洁。 

2)新型Email类型input标签

Html代码:<input type="email" name="email" placeholder="请输入注册邮箱" />

运行效果:

:在上面HTML代码中,相对于之前的标签,不同点:type="email"表示当前input标签接受一个邮箱的输入。另外就是:placeholder="请输入注册邮箱"   这个属性的功能,相信你看到此时的效果的时候你会感到非常想兴奋,而在之前实现此提示信息,需要监听一下文本框的blur事件,然后判断是否为空,为空再去给文本框赋值一个灰色的字体提示信息,而现在只需要一个简单属性指定就可以了,浏览器都帮我们实现了。

小结:当表单在提交前,此文本框会自动校验是否符合邮箱的正则表达式,另外placeholder属性带来的提示信息功能太强大了。

3)新型Url类型input标签

这里不再赘述了,跟Email类型input标签类似。只看一效果吧:

Html代码:<input type="url" placeholder="请输入网址" name="url" />

运行效果:

4)新型Tel类型input标签

Html代码:<input type="tel" placeholder="输入电话" name="phone"/>

运行效果:

5)新型range类型input标签

Html代码:<input type="range" min="0" max="50" step="5" name="rangedemo" value="0" />

运行效果:

     此类型标签的加入,输入范围内的数据变得非常简单容易,而且非常标准,用户输入可感知体验非常好。另外此标签可以跟表单新增加的Output标签一块使用,达到一个联动的效果。看demo源码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form action="" method="POST" id="form1">
        <input type="range" min="0" max="50" step="5" name="rangedemo" value="0" />
        <output onforminput="value=rangedemo.value">0</output>
 </form>

运行效果:

6)新的日期、时间、月份、星期input标签

相信你如果做过相关的Web项目开发,肯定会遇到相关的js日期控件。而一系列版本问题,使用不方便等问题将一去不复返,因为…看下面的标签吧:

Html代码:<input type="date" name="datedemo" />

运行效果:

还有其他的type:month(月)  、time、week、datetime-local、datetime。那赶紧实验一下吧。

7)颜色选择input标签

颜色选择器实现起来还是有点困难的,而现在一切都变得那么简单。且看代码:

Html代码:<input type="color"/>

运行效果:

8)input标签自动完成功能

如果您有一定的开发经验的话,肯定做过相关的自动完成或者输入提示功能。那这将不再那么复杂,简单几个标签就自动实现此功能,请看如下demo:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input type="text" autocomplete="on" name="demoAutoComplete" list="autoNames" />
<datalist id="autoNames">
       <option  value="飞龙天惊" ></option>
       <option  value="厚德IT" ></option>
       <option  value="Flydragon" ></option>
</datalist>

执行结果:

HTML5表单新增属性

Input标签新增加的特有属性

  • 1)autofocus属性

              demo:<input type="text" autofocus="autofocus"/>  此属性可以设置当前页面中input标签加载完毕后获得焦点。

  • 2)max,min,step这些上面都介绍过了,都是跟数字相关。
  • 3)placeholder:提示信息属性,上面有demo。
  • 4)multiple:用于文件上传控件,设置此属性后,允许上传多个文件。
  • 5)校验属性:设置了required 属性后预示着当前文本框在提交前必须有数据输入,而这一切都是由浏览器自动完成。

             这跟使用Jq Validate的时候一样的爽。而且还添加了:pattern正则表达式的校验。

             demo:input type="text" autofocus="autofocus" required pattern="\d+" />

  • 6)另外一个比较大的改进就是增加了form属性,也就是说,任何一个标签都可以指定它所属于一个表单,而不是必须在<form></form>进行包裹了。
  • 且看demo:<input type="text" form="demoForm" name="demo"/>

Form表单标签新增加属性

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

     demo:<form action="" method="POST" novalidate="true"></form>

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

综合性实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <fieldset>
        <legend>只能表单演示:请用最新Opera 浏览器</legend>
        <form action="" method="POST" id="form1">
            <input type="text" autofocus="autofocus" required pattern="\d+" name="auto" placeholder="必填项测试" />
            <input type="number" name="demoNumber" min="1" max="100" step="2" />
            <input type="email" placeholder="请输入邮箱" name="mail" />
            <input type="url" name="url" placeholder="输入正确的网址" />
            <br />
            日期:<input type="datetime" name="time" />
            颜色:
            <input type="color" name="color" /><br />
            <br />
            <input type="range" min="0" max="50" step="5" name="rangedemo" value="0" />
            <output onforminput="value=rangedemo.value">0</output>
            <br />
            <input type="submit" value="提交表单" />
        </form>
        表单外的input标签:
        <input type="text" form="form1" name="demo" />
    </fieldset>

 执行结果:

由于部分属性不能正常提交到博客园后台,上一张图片加源码:

图片:

实际运行情况:

只能表单演示:请用最新Opera 浏览器

总结

       在新版本的表单中的确添加了很多令人兴奋的功能。其实进步不是特别大,只不过是把之前的常用的功能,加入到了标准中来定义,然后浏览器帮我们实现了很多我们原先需要自己用js实现的一些功能罢了。但是对于开发者来说,这的确是很不错的一件事情。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
HTML5表单及其验证
将原本type为text的input控件声明为以上特殊类型,是为了给用户呈现不同的输入界面(移动平台上支持这些不同的输入界面,这里就不细说),而且表单提交时会对其值做进一步的验证。下面展示这些新表单元素,请用支持这些表单元素的浏览器查看,IE对其支持最差。
HUC思梦
2020/09/03
2K0
HTML5 学习总结(二)——HTML5新增属性与表单元素
张果
2018/01/04
3.8K0
HTML5 学习总结(二)——HTML5新增属性与表单元素
HTML5新增的表单验证功能
一、HTML5表单的特点: HTML5 表单增加了许多内置的控件和控件属性 XHTML 中需要放在 form 之中的诸如 input/button/select/textarea 等标签元素,在 HTML 5 中完全可以放在页面任何位置,并通过新增的 form 属性指向元素所属表单的 ID 值,即可关联起来。 二、HTML5新增的控件类型: email输入类型:<input type="email" name="email" /> 要求输入格式正确的 email 地址,否则浏览器不允许提交,同时会提示错
Leophen
2019/08/23
2.8K0
HTML5学习笔记(一)
1.什么是 HTML5? HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。 HTML 的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。 HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。 2.HTML5 是如何起步的? HTML5 是 W3C 与 WHATWG 合作的结果。 编者注:W3C 指 World Wide Web Consortium,万维网联盟。 编者注:WHATWG 指 Web Hypertext Appl
用户1667431
2018/04/18
1.6K0
HTML5新增属性学习笔记
1、form属性 表单内的从属元素,可以写在表单外部。可以通过指定元素的form属性来声明元素所属表单。form的属性值为表单的id。 1 <form id="testForm"> 2 <input type="text"> 3 </form> 4 <textarea form="testForm"></textarea>  详细学习内容可参看:HTML5新增的form属性简介 2、formaction属性 给所有的提交按钮增加formaction属性,可以通过不同的按钮将表单提交到不同的页面。 1
就只是小茗
2018/03/07
2K0
6.HTML输入表单标签元素介绍
描述: 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入内容,其包含 文本框、文本域(textarea)、按钮、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等元素都要放在form标签里面或者进行form的id值的调用,否则提交的数据到不了后端。
全栈工程师修炼指南
2023/03/21
5.3K0
HTML的笔记及展示(2)(表单元素、input元素、label、button以及HTML5新增的一些元素)
1.<form…/>元素 用于生成输入表单,该元素不会生成可视化部分。如单行文本框、多行文本框、单选按钮、复选框等都需要放在<form…/>元素内
鲲志说
2025/04/07
4780
HTML的笔记及展示(2)(表单元素、input元素、label、button以及HTML5新增的一些元素)
HTML5标签2
在HTML网页中,要想创建表格,就需要使用表格相关的标签。创建表格的基本语法格式如下:
星辰_大海
2020/09/30
2.8K0
学习HTML5之表单
HTML5 的标准已经定了,应该火了,或者已经火了。那么是不是可以学习一下呢? 目前h5的主场还是在手机端,pc还是受困于浏览器的兼容,主要是IE在拖后腿。所以这里侧重的是手机里面的表现。 先来看看表单。h5里面增加了一些新的标签和属性,解决了我们以前比较头疼或者繁琐的功能。 先看看input里面的type属性,新增了一些属性,比如email、number、date、range等,那么他们的表现到底如何呢?我们来罗列一下。 <form > <input type="checkbox" na
用户1174620
2018/02/08
1.8K0
html5 表单元素示例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>html5中的表单</title> <script type="text/javascript"> var flag = true; function checkMail(){ var url = document.getElementById("url"); if (url.value==""){ //表单提交时 自定义验证信息
用户7718188
2021/11/02
1.7K0
html5语义化标签——回顾
html5 头部结构    <!doctype html>     <meta charset=“utf-8”/> <header></header> 页眉     主要用于页面的头部的信息介绍,也可用于板块头部 <hgroup></hgroup> 页面上的一个标题组合       一个标题和一个子标题,或者标语的组合       <hgroup>         <h1></h1>         <h2></h2>       </hgroup> <nav></nav>  导航 (包含链接的的一
用户1197315
2018/01/22
2.4K0
前端HTML5面试官和应试者一问一答
form特性在HTML5中,可以把从属于表单的元素放在任何地方,然后指定该元素的form特性值为表单的id,该元素就从属于表单。
达达前端
2021/01/14
2.2K0
前端HTML5面试官和应试者一问一答
(一)熟练HTML5+CSS3,每天复习一遍
学习网页的概念和分类,了解静态网页和动态网页的不同;了解网页浏览器的工作原理。了解HTML,XHTML,HTML5的概念,制作简单的HTML页面的开发。
达达前端
2020/10/29
3.2K0
从零开始学 Web 之 HTML5(二)表单,多媒体新增内容,新增获取操作元素,自定义属性
high:被界定为高的值的范围。 low:被界定为低的值的范围。 max:规定范围的最大值。 min:规定范围的最小值。 optimum: 规定度量的最优值。 value:规定度量的当前值。
Daotin
2018/08/31
1.7K0
从零开始学 Web 之 HTML5(二)表单,多媒体新增内容,新增获取操作元素,自定义属性
HTML5 新特性_CSS3新特性
(1)HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准;
全栈程序员站长
2022/11/15
5.9K0
HTML5(一)——新增元素和属性
自 H5 诞生以来,在 html4.0 中有些元素已被 H5 废弃,但是在 H5 中添加了很多新元素以及功能,今天我们学习 H5 中新增的元素和属性都有哪些?
呆呆
2021/09/29
1.6K0
HTML/HTML5 Input类型&&表单
1.HTML 中"不常用"input类型中的属性值: disabled:输入字段禁用; maxlength:输入字段的最大字符长度; readonly:输入字符只读,无法修改; size:输入字段可见字符数。 1 <form action="" method="get"> 2 <input type="text" name="text1" id="" value="1" disabled><br> 3 <input type="text" na
用户1149564
2018/01/11
1.4K0
HTML/HTML5 Input类型&&表单
HTML5新增的from表单input属性
required:1->输入框不能为空; 2->浏览器需要对当前输入框做验证; autofocus:输入框自动聚焦; placeholder:占位符,提示用户输入(IE9以下的不支持);
德顺
2019/11/13
1.8K0
HTML表单
这个元素正式定义了一个表单,就像<div>和<p>标签,它是一个容器元素,但它也支持一些特定的属性来配置表单的行为方式。它的所有属性都是可选的,但实践中最好至少要设置action属性和method属性。
HammerZe
2022/03/25
4.5K0
HTML表单
前端学习(3)~html5详解(一)
HTML5并不仅仅只是做为HTML标记语言的一个最新版本,更重要的是它制定了Web应用开发的一系列标准,成为第一个将Web做为应用开发平台的HTML语言。
Vincent-yuan
2020/02/23
1.3K0
相关推荐
HTML5表单及其验证
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验