HTML5中的智能表单

表单智能填充,数据复制到文本域,智能填充到表单,html表单提交 html,表单自动填充,避免重复性工作,一个一个填写,复制粘贴到文本域,自动识别对应表单属性,复制之后自动识别,点击提交就行了。超级简单,有什么不懂的可以直接私信问我。 立即下载

新增类型

在html5中给表单新添加了一些类型 ,大致可以分为以下几种:

  • 数字类型

    • 跟数字强相关的类型,其中number、range在移动端开发时,会弹出数字键盘,而range是一个范围滑动块。
      <input type='number'> <!--用于比较精确的纯数字输入类型-->
      <input type='range'> <!--用于不是很精确的数字范围-->
      <input type='tel'> <!--用于电话号码-->
  • 日期和时间类型

    • web表单常见的字段就是日期和时间,html5以此来收集这类信息

      <input type='time'>
      <input type='date'>
      <input type='month'>
      <input type='week'>
      <input type='datetime'>
      <input type='datetime-local'>
      
  • 其他类型 :email、url、color、search

    • 其中一些类型在不同的设备上都会有不同的显示。

      <input type='email'>
      <input type='url'>
      <input type='color'>
      <input type='search'>
    • 如果我们只需要其语义,而不用其样式,那么我们可以用css来给它做兼容。如下,我们用search来举例。css结构:

      input[type=search]{
          -webkit-appearance:none;
      }
      input[type=search]::-webkit-search-decoration,
      input[type=search]::-webkit-search-cancel-button {
          display:none;
      }
    • 最后这些新的类型,比如number,url,email等类型,会在表单提交的时候校验格式,如果格式不对的话,会阻止表单的提交。

新增属性

html5中新增了一些属性,可以让表单制作更轻松

  • placeholder 占位符文本,以前我们用js来模拟,获得焦点的时候,文本消失,失去焦点并且内容为空时,文本重现,现在html5自带了这一项功能。

    • html结构:

      <input id='search' type='text' placeholder='search your goods'>
    • 如果想要修改placeholder中的文本样式,那么我们只要给浏览器设置一些样式即可,css结构:

      ::-webkit-input-placeholder{
            color:red;
            font-size:14px;
      }
      ::-moz-placeholder{
            color:red;
            font-size:14px;
      }
    • 注意上面两个样式要分开写,才会有效,不能用逗号合并写成一个。
    • 我们不用placeholder,我们用js来实现上述功能:

      <input id='myInput' type='text' value='请输入...'>
      <script>
          var input = document.getElementById('myInput');
          input.onfocus = function() {
            this.value=this.value.replace(/^\s+|\s+$/g,'');
            if(this.value=='请输入...'){
              this.value = '';
            }
          }
          input.onblur = function() {
            this.value=this.value.replace(/^\s+|\s+$/g,'')
            if(!this.value){
              this.value = '请输入...'
            }
          }
      </script>
    • 上面有个小bug,如果用户输入了 ‘请输入…’这三个字符 ,那么在失去焦点时也会变成空,不过这个不影响使用,也几乎没有用户会这样做。但是我们可以提供一个解决方案:我们再给它增加一个颜色,用值和颜色一起判断,兼容谷歌的颜色得用rgb的格式,如果用户输入的颜色,就深些,这样,我们都可以区分开是用户输入的,还是自动生成的了。详情请查看:https://github.com/johnnynode/placeholder-js

  • autofocus 自动聚焦 ,autofocus属性可以让表单在加载完成时,会有一个表单域被默认聚焦或者选中,但是尽量不要在一个页面上在多个表单域上使用autofocus,在一些低版本浏览器上会默认聚焦最后一个含有autofocus的表单域,在大多数浏览器中会聚焦第一个含有autofocus的表单域,这会造成跨浏览器的混乱。还有我们通常用空格键来滚动页面,如果页面上有autofocus的表单域会阻止这一浏览器的默认行为。

    • 我们只需要在html中,加入autofocus属性就可以了

      <input type='text' autofocus>
      
    • 在此之前,我们用js的focus方法来使表单聚焦。

      <input id='myInput' type='text'>
      <script>
        document.getElementById('myInput').focus();
      </script>
  • autocomplete 自动完成,很多浏览器默认提供自动完成功能,帮助用户输入上次提交过的内容,autocomplete有两个必备的条件才能够工作,一是一定要有form元素,二个是表单域上必须要有name属性和name属性值。但是,有些时候我们为了保护隐私,需要避免自动完成这项功能,我们开启和关闭这项功能,只需给它赋值on或者off ,如果不赋值,默认就是on,表示功能开启。

    • 我们来开启自动完成功能 ,html结构为:

      <form>
        <input type='text' name='myInput' autocomplete>
        <input type='submit' value='submit'>
      </form>
    • 我们关闭此项功能html结构为:

      <form>
        <input type='text' name='myInput' autocomplete=off>
        <input type='submit' value='submit'>
      </form>
    • 如果我们想给整个表单都设置,我们只需要在form元素上加这个属性就行了

      <form autocomplete='off'>
          <input type='text' name='myInput'>
          <input type='submit' value='submit'>
      </form>
  • required 必填字段,如果表单内存在表单域有这个属性,会在表单提交的时候做校验,如果没有内容,则会阻止提交,当然在低版本的浏览器中有兼容问题。

    <input type='text' id='theInput' name='myInput' required>

    我们可以通过下面的JavaScript代码来检测浏览器是否支持 required 属性

      var isRequiredSupported = document.getElementById('theInput').required;
    
  • pattern 通过正则表达式来定义表单域的数据格式。

    • 下面是来验证英文名的示例 html 结构:

      <input name='name' pattern="([a-zA-z]{3,30}\s*)+[a-zA-Z]{3,30}" placeholder='Dwight Schultz' required>
    • 检测浏览器是否支持可以用下面的代码:

      isPatternSupported = 'pattern' in document.createElement("input");
  • novalidate 告诉表单不进行验证

    • 可以在form上设置novalidate属性,可以告诉表单不进行验证

      <form novalidate>
        <input type='email' name='email'>
        <input type='submit' value='submit' >
      </form>
      
    • 也可以用javascript设置表单不验证

       <form>
        <input type='email' name='email'>
        <input type='submit' value='submit' >
      </form>
      <script>
        document.forms[0].noValidate = true;
      </script>
    • 如果有多个提交按钮,为了指定点击某个按钮提交验证,而某一个不去验证,那么可以在相应的按钮上设置 formnovalidate属性

      <form>
        <input type='email' name='email'>
        <input type='submit' value='验证' >
        <input type='submit' value='不去验证' formnovalidate>
      </form>
  • multiple 上传多文件

    • 指定 multiple属性来设置多个文件上传
       <form>
          <input type='file' name='file' multiple>
      </form>
      
  • min max 限制值的范围,但是不会再输入时限制,提交时校验,step设置的是每次加减的增量,主要使用在number range datepicker上

    • html结构:
      <input type='number' min='10' max='100' step='5' name='num'>
      <input type='range' min='10' max='1000' value='50' step='100'>
      <input type='date' max='2015-12-25' min='2015-11-25' step='2'>
      
  • 等等还有其他属性,这里就不一一列举了,用到的时候再去查。

新增元素

html5 中新增加了一些元素,扩展了一些功能

  • 智能感应 list属性 和 datalist元素,智能感应需要给input设置一个属性为list,list属性值是datalist元素的id,两者配合使用,并且datalist元素内的option可以套在select里面,这样为了老版本浏览器提供降级方案。智能感应出来的目的就是为了便利的给用户添加输入提示功能,增强用户体验。

    • html代码结构如下:

      <input type='text' name='myInput' list='choose'>
      <datalist id='choose'>
        <select>
          <option value='Best Picture'></option>
          <option value='11111'></option>
          <option value='11222'></option>
        </select>
      </datalist>
      
    • 在w3c上可以亲自试试: http://www.w3school.com.cn/html5/html5_datalist.asp

  • 秘钥生成表单字段keygen

    • <keygen>字段,并非<input>类型,但是这个表单字段来生成公共和私人密钥对,并提交公共秘钥,当浏览器提交了<keygen>元素的表单时,私人秘钥被保存于本地秘钥储存中,公共秘钥被打包发送至服务器。下面是简单的测试:

      <form>
           <keygen name='pubkey' challenge='random-characters'>
           <input type='submit' name='createcertificate' value='Generate'>
      </form>
    • 此元素被除 IE之外的所有主流浏览器支持,在移动端使用时一个很好的选择。

  • 还有一些不是很常用的元素包括<meter>、<progress>、<output>、<menu>、<command>等等

什么是论文的创新点?公式化描述算是创新点吗? 写科研论文时,挑战之一就是如何让你的工作“脱颖而出”,也就是要有创新性。不管实验多么精确、推导多么复杂,若没有真正的创新,论文很可能会被拒。关于如何创新问题上,我最近在看刘雪峰老师的《科技论文写作指南》,看到了很多关于写作的新论述,在这里和大家进行分享。 阅读详情

相关推荐

单目视觉定位:深入解析PNP算法在机器人导航中的实战应用

本文深入解析了PNP算法在机器人单目视觉定位中的核心原理与实战应用。通过拆解坐标变换四步,详细阐述了如何从二维图像点反求相机三维位姿。文章结合OpenCV的solvePnP函数,提供了算法选择、参数调优及结果后处理的实用指南,并针对机器人导航中的特征匹配、尺度不确定性等挑战,给出了鲁棒性优化与实时性平衡的解决方案。

weixin_29083649的博客 419

自动填写表单

自动填写后(上传的数据是采用一家很厉害的企业的产品介绍书,个人非常崇拜,就冒昧测试了下)自己就研究了一个可以上传文件,自动填写内容的工具。希望找到特别需要帮助的场景,非常乐意提供帮助的~我找投资过程中常常会写各种表单表格。大部分信息都是来自我的BP的。目前还是我本地跑的项目。每次重复填写真的麻烦。

m0_71280706的博客 398

MongoDB启动失败(service mongod start):Failed to unlink socket file /tmp/mongodb-27017.sock Unknown error

错误日志(/var/log/mongodb/mongo.log): 2019-09-16T06:00:00.251+0000 I CONTROL [main] ***** SERVER RESTARTED ***** 2019-09-16T06:00:00.253+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-e...

deantzzz的博客 1840

自动填写表单、表格、申请表

这个程序放在了bili,希望能够帮助后来人,相似的场景也能够联系我定制。输出:自动写入目标表格。

m0_71280706的博客 373

NVMe-MI --- Message Servicing Model(消息服务模型)

本文主要介绍NVMe-MI消息服务模型,两个主要类别是请求消息和响应消息。并介绍带外机制消息服务状态机。

智小星的博客 2015

麒麟和UOS系统编写桌面点击可执行文件

在桌面上创建一个快捷方式(.desktop 文件)来运行脚本。打开文本编辑器,创建一个新文件,如。这可以通过文本编辑器来完成。首先,确保您的脚本具有执行权限。现在,您应该可以双击桌面上的。保存此文件到桌面目录,例如,在桌面上创建一个快捷方式(文件来运行您的脚本了。使用图形界面或命令行给。现在您可以双击桌面上的。为您脚本的实际路径。是您脚本的实际路径。文件来运行您的脚本了。

u013934107的博客 7255

HT5LM+Less表单设计

HTML5表单 CSS3 Web Form Design - 网页表单设计 --> HTML5标准注册表单 姓名 电话号码 电子邮件 网站

学习,输出==》再学习再输出 1124

Workbench中基于nCode的列车转向架随机振动疲劳寿命预测方法

本文详细介绍了在ANSYS Workbench中结合nCode进行列车转向架随机振动疲劳寿命预测的完整方法。通过几何清理、模态分析、PSD载荷定义及随机振动求解,并重点阐述了nCode中Dirlik等疲劳算法的选择与应用,为轨道交通关键部件的可靠性设计提供了系统的仿真分析流程与工程实践指导。

weixin_29234423的博客 474

HTML5中表单代码有,HTML5表单(示例代码)

新增的input输入类型HTML5中增加了表单方面的诸多功能,包括增加input输入类型、表单元素、form属性和input属性等。新的input输入类型email类型的input元素是一种专门用于输入E-mail地址的文本输入框,在提交表单的时候,会自动验证email输入框的值,如果不是一个有效的E-mail地址,该输入框不允许提交该表单。url类型的input元素提供用于输入url地址这类特殊...

weixin_35943736的博客 1173

CTK Plugin Framework插件框架学习1--Qt编译CTK

【代码】Qt编译CTK。

贝勒里恩的博客 7435

001、NPU是什么?为什么嵌入式设备需要它?

本文通过作者调试工业相机板卡的经历,引出嵌入式设备为何需要NPU(神经网络处理器)的探讨。文章对比了CPU和NPU的设计哲学差异,指出NPU通过专用乘加器阵列和优化的数据流,能高效处理神经网络运算。作者分析了嵌入式设备使用NPU的三大优势:算力提升、功耗降低和实时性保障,并介绍了三类常见NPU形态。通过一个YOLOv5模型调试案例,揭示了NPU使用中的常见陷阱,最后给出五条实用建议,强调理解NPU原理和局限的重要性。文章生动展现了NPU在嵌入式AI应用中的关键作用。

m0_50546716的博客 127

php 智能表单系统,Html的智能表单

-新的输入类型-email-url-number-range-Date pickers ( date ,month ,week, time , datetime ,datetime-local )-search-color-telInput Type -email-自动校验输入的是否是emailEmail: Input Type -url-自动将提交数据变成UrlHomepage: Input T...

weixin_42451850的博客 553

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

HTML5_智能表单

1、HTML5中为了方便排版,可以使from中的表单标签脱离from的嵌套。方法:from指定ID,所有表单标签均添加from=id属性。 <form action="http://localhost/test.php" method="post" id="register"></form> <input type="text" name...

181

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

HTML5基础&智能表单

语义化标签:主要用于移动端 低版本浏览器不可用 section:页面中的一个内容区块 与div作用一样 header:页面中一个内容区块或整个页面的标题 nav:页面导航链接部分 article:一块与上下文无关的独立的内容 aside:在article之外的,与article内容相关的辅助信息 footer:页面中一个内容区块或整个页面的脚注 figure:一段独立的流内容,使用figcaption元素为其添加内容(第一个或最后一个子元素的位置) ...

qq_63608418的博客 335

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

学习HTML5+CSS3

一,HTML5学习概述 1,认识HTML5 概述 HTML 是 HyperText Markup Language(超文本标记语言)的缩写,它是用于创建网页 的标准标记语言。HTML 使用标记标签来描述网页,由浏览器来解析,即使用 HTML 来建 立 Web 站点,通过 Web 浏览器读取 HTML 文档,并以网页的形式显示出来。是 HTML 最新的修订版本,2014 年 10 月由万维网联盟(W3C)完成标准制 定。HTML5 是跨平台的,被设计为在不同类型的硬件(台式计算机、平板计算机、手机、 电

m0_60935443的博客 855

分针网——每日分享:HTML5新增标签 + 智能表单

更多文章:www.f-z.cn 一.HTML5的新增语义标签 1. 全新语义化标签 :用来定义文档或应用程序中的区域或章节. :用来定义文档的主导航区域,其中的链接指向其他页面或当前页面的某些区域. 用来包裹独立的内容片段,通常用来包裹文档中文章. :用来表示与页面主内容

分针网 769

前端Html5(20)

html5基础 <style> * { margin: 0; padding: 0; } body { padding: 30px; padding-top: 10px; line-height: 35px; font-family: "微软雅黑"; } h1, h2 { padding: 20px 0; } h3 { background: #00AA88; color: #FFFCF4; font-size: 20px; font-weig

weixin_64909133的博客 261

HTML5学习总结

一、HTML5概念 HTML5并不仅仅只是做为HTML标记语言的一个最新版本,更重要的是它制定了Web应用开发的一系列标准,成为第一个将Web做为应用开发平台的HTML语言。 HTML5定义了一系列新元素,如新语义标签、智能表单、多媒体标签等,可以帮助开发者创建富互联网应用,同时有令人眼花缭乱的css 3,还提供了一些Javascript API,如地理定位、重力感应、硬件访问等,可以

风雨中De追梦人 7395

html笔记(三)html5+css3(html5、css3、文字相关)

一、html5 1.html4 和 html5 的区别; 2.标签语义化; 3.智能表单的使用和规范; 二、css3选择器 1.属性选择器; 2.结构性伪类选择器(层级选择器/符); 3.UI状态性伪类选择器; 4.相邻兄弟选择器; 5.其他; 三、文字相关属性 1.兼容前缀; 2.渐进增强和优雅降级; 3.文字相关属性(阴影、换行、单词大小写、颜色值、盒子阴影、边框背景、圆角);

Start2019 380

HTML5基础

HTML5基础 1.前言介绍 HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的 HTML工作团队。 定义: (1)如果从狭义的角度来讲,HTML5就是HTML4的新一代产品。 (2)而如果从广义的角度来讲,则是新一代的富客户端解决方案 2.发展史 (1)HTML 5 的第一份正式草案已...

aweigg1816的博客 232

HTML5总结

媒体API 音频–audio 1、标记属性: (1)src:设置音频的播放路径 (2)autoplay:自动播放。浏览器不支持自动播放 --浏览器规定:媒体必须通过用户交互才会播放 (3)controls:设置是否显示播放控制面板 (4)loop:设置是否循环播放。 (5)muted:设置是否默认静音 2、接口属性: (1)paused:判断音频是否处于暂停状态。 (2)volume:返回/设置当前音频播放的音量(取值:0-1)。 (3)duration:返回音频播放的总时长(单位:秒)。 (4)curre

weixin_45729307的博客 536

HTML5表格和表单

HTML5表单与表格及其属性

Yang_Sun_shine的博客 4950

html5 video file not found怎么办_几分教你认识前端之——你不知道的HTML5

一、HTML5概念 HTML5并不仅仅只是做为HTML标记语言的一个最新版本,更重要的是它制定了Web应用开发的一系列标准,成为第一个将Web做为应用开发平台的HTML语言。HTML5定义了一系列新元素,如新语义标签、智能表单、多媒体标签等,可以帮助开发者创建富互联网应用,同时有令人眼花缭乱的css 3,还提供了一些Javascript API,如地理定位、重力感应、硬件访问等,可以在浏览器内实现...

weixin_39612297的博客 1万+

html5下拉智能,HTML5新增标签 + 智能表单

一.HTML5的新增语义标签1. 全新语义化标签:用来定义文档或应用程序中的区域或章节.:用来定义文档的主导航区域,其中的链接指向其他页面或当前页面的某些区域.用来包裹独立的内容片段,通常用来包裹文档中文章.:用来表示与页面主内容松散相关的内容,常被用来用作侧边栏的部分.:如果页面中有一组使用,,等标签的标题,标语和副标题, 则可以使用该标签进行包裹.HTML5的大纲结构算法会自动组织好大纲.:被...

weixin_35039377的博客 187

HTML5

让IE8以下浏览器支持HTML5新标签 解决方式1:在该标签css中设置display:block,通过DOM的方式创建这个标签;(缺点:多个标签比较麻烦) &amp;amp;lt;style&amp;amp;gt; header { display:block; } &amp;amp;lt;/style&amp;amp;gt; &amp;amp;lt;script&amp;amp;gt; document.createElement('heade

weixin_42549581的博客 125
上一篇: HTML5中的数据集dataset和自定义属性data-*
下一篇: Angular构建简单应用的步骤分解
Wang's Blog
博客等级 码龄12年 7438粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值