1.提示占位 placeholder

<input type="text" name="userName" placeholder="请输入用户名">

placeholder的文本默认是浅灰色,如果要修改,可以通过伪元素来进行设置

input::placeholder{
color: red;
}

2.自动获取焦点 autofocus

添加这个属性后,页面加载时这个输入框会自动获取焦点

<input type="text" name="userName" autofocus>

3.自动完成 autocomplete

  • 开启这个属性后,on打开(默认) off关闭,当这个输入框获取焦点时,会自动提示提交过的数据。
  • 注意:数据必须成功提交过,且这个input标签必须有name属性,因为它依靠name属性的值来筛选提交过的数据,只有name属性值一致时,才会将之前提交的数据提示出来。
<div>
用户名:<input type="text" name="userName" autocomplete="on">
爱好:<input type="text" name="hobby" autocomplete="on">
</div>

4.必须输入,不能为空 required

如果此输入框未输入内容,则会阻止提交

<div>
用户名:<input type="text" name="userName" required>
</div>

5.正则表达式验证 pattern

如果此输入内容不符合正则验证,则会阻止提交

<div>
手机号:<input type="tel" name="tel" pattern="/^1\d{10}$/">
</div>

6.多选 multiple

<!-- 文件多选 -->
<div>文件:<input type="file" name="userFile" multiple></div>
<!-- 邮箱多选,每个邮箱用 逗号 隔开 -->
<input type="email" name="userEmail" multiple>

7.表单关联

表单默认只会提交它内部的input元素的内容,如果外部的input想要包含进来,则外部的input标签要设定form属性,值为目标form的id

<form id="myForm"></form>
<input type="text" name="user" form="myForm"></input>

8.oninput事件

  • 含义:当输入框内容发生改变机会触发,输入框每输入/减少一个字符,甚至连输入中文,还未选中文字时都会触发。而change事件只会在输入完成,失去焦点时触发
<script>
var tel = document.querySelector("[type=tel]")
tel.oninput = function(){
console.log("input")
}
tel.onchange = function(){
console.log("change")
}
</script>

9.oninvalid事件

  • 含义:当验证不通过时触发,在回调中通过setCustomValidity()方法可以设置提示信息
<div>
手机号:<input type="tel" name="tel" pattern="/^1\d{10}$/">
</div>
<script>
var tel = document.querySelector("[type=tel]")
tel.oninvalid = function(){
console.log("验证失败")
this.setCustomValidity("手机格式错误")
}
</script>

10.关闭校验

当点击提交时,当输入框的类型和输入的值不符合时,触发校验失败 ,可以给form元素设置 novalidate 属性来关闭校验

<form novalidate>
</form>
form.noValidate = true

H5 新增表单的更多相关文章

  1. H5 新增表单属性和事件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. H5新增表单属性

    一.form属性 <form id="test"> <input type="text" placeholder="请输入合适的信息 ...

  3. 疯狂的表单-html5新增表单元素和属性

    疯狂的表单 2015/11/27 16:44:07 从三方面来介绍html5表单的新特性 表单结构更灵活 要提交数据的控件可以布局在form标签之外,看下面的代码,表单元素可以写到form元素之外,只 ...

  4. H5学习之旅-H5的表单(11)

    H5的表单元素 form:表单 input:输入域,type属性可以设置text,password,button等不同的属性 textarea:文本域 lable:控制标签 fieldset:定义域 ...

  5. H5智能表单

    表单 keygen元素的作用是提供一种验证用户的可靠方法 datalist 元素规定输入域的选项列表 output元素用于不同类型的输出,比如计算或脚本输出 智能表单 input 新增type值 em ...

  6. HTML5新增表单验证

    HTML5新增属性: 属性 描述 placeholder 提供一种提示,输入域为空时显示,获得焦点输入内容后消失 required 规定输入域不能为空 pattern 规定验证input域的模式(正则 ...

  7. 移动端H5通用表单验证插件

    将表单验证的通用部分提炼出来,做成一个简易插件,方便调用. 已将源码放到GitHub上,名字叫zValidate. 手机可扫描下图查看示例,PC端可点击此处查看: 一.原理 1)需要引入zepto.j ...

  8. html5新增表单元素

    1.验证 <form> <input type="email"></input>    验证邮箱 <input type="ur ...

  9. html5 新增表单控件和表单属性

    新的输入型控件 email:电子邮箱文本框,跟普通的没什么区别 当输入不是邮箱的时候,验证通不过 移动端的键盘会有变化         tel:电话号码 一般用于手机端,是一个键盘切换 url:网页的 ...

  10. IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

    HTML5有一些新的表单元素:<datalist>.<keygen>.<output>.不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性, ...

随机推荐

  1. DOM – MutationObserver

    介绍 它和 IntersectionObserver, ResizeObserver 差不多, 都是观察 element 变化的. 它可以观察元素的 attribute 增加, 移除, 修改, app ...

  2. EF Core – 乐观并发

    前言 之前写过 EF Core 悲观并发, 这篇主要讲一下乐观并发. 乐观并发的机制可以看这篇. Why Need This? 如果你用 EF Core 做数据管理, 建议你每个 Entity 都配置 ...

  3. Windbg常用命令及分析套路

    自己也在使用windbg分析问题,但是属于刚入门所以转发下大神的总结:https://www.cnblogs.com/fj365/p/13295453.html 常用 !threadpool 查看线程 ...

  4. Flutter Engage China 开发者常见问题解答 | 下篇

    再次感谢大家对 Flutter Engage China 活动 的关注和积极参与!我们在活动前后收到了很多来自开发者的反馈和问题,Flutter 团队和演讲嘉宾在直播 Q&A 环节中也针对部分 ...

  5. python3 numpy的一些小知识点

    简介 一个用python实现的科学计算,包括: 1.一个强大的N维数组对象Array: 2.比较成熟的(广播)函数库: 3.用于整合C/C++和Fortran代码的工具包: 4.实用的线性代数.傅里叶 ...

  6. Nuke导出视频缺失 H.246格式 的解决办法

    同事在使用Nuke导出视频时报错,报错提示:缺失 H.246格式 后来经过我的研究发现,Quicktime Player 在标准安装时,默认不关联一些格式(具体是哪些格式不清楚) Quicktime ...

  7. 填坑 CentOS7 使用 Python3 安装 Cython 编写扩展

    前文参见 <CentOS 7 下通过 Cython 编写 python 扩展>, 用的是 Python2.7,本文用的是 Python3.6 yum install python3 pyt ...

  8. kotlin类与对象——>数据类、密封类、泛型

    数据类,用来保存数据的类,使用data对class进行标记 data class User(val name: String, val age: Int) //编译器自动从主构造函数中声明的所有属性导 ...

  9. 浅析Jvm

    浅析Jvm 基本概念 引言 Java 虚拟机(JVM,Java Virtual Machine)是 Java 生态系统的核心组成部分,它为 Java 应用程序提供了一个运行环境.JVM 的主要职责是将 ...

  10. centos7.6源码方式安装python3.6.8

    1 安装依赖包 centos7.6是没有自带python3的 [root@opgs201 ~]# cat /etc/redhat-release CentOS Linux release 7.6.18 ...