学习JavaScript笔记

简介: 学习JavaScript笔记

用户体验提示

表单验证 html 属性 required 有几个缺陷。

就是当一个 input 设置为 required 的时候,在初始化时,因为其本身是空的,所以 invalid 伪类会对它起作用,这不是我们想看到的,此时我们什么还都没有做。

我们可以统一在这些伪类前加上父选择器 .invalid,这时只有在父元素具有 invalid 类时,这些伪类才会起作用。可以设置一个 submit 事件,在表单提交因验证失败后,会触发 input 的 invalid 事件,给 form 添加 invalid 类:

form.addEventListener('invalid'function(){this.className ='invalid'},true)

因为 invaild 是 Input 的事件,而不是 form 的事件,所以这里我们设置第三个参数为 true 采用事件捕获的方式处理,另外 css 选择器的使用对 this.className 影响需要提前处理。

目录
相关文章
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
JavaScript随手笔记 --- 对数据进行判断最大位数是否超过八位
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
2天前
|
JavaScript 前端开发 测试技术
学习JavaScript
【4月更文挑战第23天】学习JavaScript
10 1
|
10天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
28天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(六)
JavaScript高级笔记-coderwhy版本
74 0
|
28天前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(一)
JavaScript高级笔记-coderwhy版本
34 0
JavaScript高级笔记-coderwhy版本(一)
|
1月前
|
JSON JavaScript 前端开发
Node.JS第二讲笔记
Node.JS第二讲笔记
32 0
|
1月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
1月前
|
JavaScript
Vue.js学习详细课程系列--共32节(4 / 6)
Vue.js学习详细课程系列--共32节(4 / 6)
35 0
|
1月前
|
JavaScript 前端开发 索引
JavaScript随手笔记---对比数组差异
JavaScript随手笔记---对比数组差异
JavaScript随手笔记---对比数组差异