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. CSS & JS Effect – 画三角形 Triangle

    前言 画三角形有什么用? 可以做这样的 Design 参考 5 Ways To Create A Triangle With CSS Border Triangle 用 border 做 三角形应该是 ...

  2. 反DDD模式之“复用”

    本文书接上回<反DDD模式之关系型数据库>,关注公众号(老肖想当外语大佬)获取信息: 最新文章更新: DDD框架源码(.NET.Java双平台): 加群畅聊,建模分析.技术实现交流: 视频 ...

  3. CSS 学习路线图

    一.基础入门阶段 学习内容: 理解 CSS 的作用和基本概念,包括样式表如何与 HTML 结合来美化网页. 掌握 CSS 的语法结构,如选择器.属性和值的组合方式. 学习常见的文本样式属性,如字体大小 ...

  4. Dockerfile相关(推送镜像?私有仓库?)(九)

    上面我们讲到了 Dockerfile 的基本写法以及构建镜像的时候一些注意事项,那么镜像构建完成后,如何把我们的镜像给到别人使用呢?第一种方法就是利用 Docker 官方提供的公共的 Docker H ...

  5. 称骨算命免费api接口_json数据接口示例_八字称骨测算程序php接口

    称骨算命是算命方法的一种,和生辰八字算命.紫微斗数算命异曲同工,略有不同,虽然都是用出生的时间算命,但比较而言,称骨算命将命运分的比较粗略,只是把命运分为五十一种.故对命运的考察不细致,不太准确,可以 ...

  6. Android内存分析命令

    一.内存指标 Item 全称 含义 等价 USS Unique Set Size 物理内存 进程独占的内存 PSS Proportional Set Size 物理内存 PSS= USS+ 按比例包含 ...

  7. Python | os.path.join() method

    Python中的os.path.join()方法可以连接一个或多个路径组件. 此方法将各个路径组成部分,与每个非空部分路径组成部分恰好用一个目录分隔符(" /")连接起来. 如果要 ...

  8. 泛型dotnet

    // 什么是泛型List<T> T:表示类型参数,指代任意类型 T可以是任意标识 // 编写代码时使用特殊符号替代位置类型,在实例化或使用/调用时才会进行具体类型的定义 // 特点:重用代 ...

  9. 基于Jenkins + Argo 实现多集群的持续交付

    作者:周靖峰,青云科技容器顾问,云原生爱好者,目前专注于 DevOps,云原生领域技术涉及 Kubernetes.KubeSphere.Argo. 前文概述 前面我们已经掌握了如何通过 Jenkins ...

  10. Buffer和Channel

    IO 和 NIO 区别: 可简单认为:IO 是面向流的处理,NIO 是面向块(缓冲区)的处理 面向流的 I/O 系统一次一个字节地处理数据. 一个面向块(缓冲区)的 I/O 系统以块的形式处理数据. ...