第19章 表单脚本
js原生的表单功能非常丰富,但笔者认为,原生表单已经很少使用,在框架横行的时代,优秀的UI框架层出不穷,表单的应用是必不可少的。常见的UI框架有:Element-ui, Ant-design, Vant, Mint-ui等等。本章涉及到表单的能力在UI框架上基本都实现了,且更加漂亮。因此本章节的许多内容不再介绍,不过仍会介绍开发应用较多的功能。
# 表单基础
当给button设置type="submit"属性时,会带上默认的提交事件,不过可以通过e.preventDefault()
来取消提交。
重置表单是不推荐的,如果要,可以使用框架UI或者手动重置。
表单字段:常见的公用属性有
- disabled 是否禁用
- name,字段的名字
- readonly,是否只读
- type,字段类型
- value,字段对应的值
表单方法:focus()和blur(),常用来设置自动聚焦。
公共事件:focus(), blur() 和change()。
# 文本框编程
# 屏蔽字符
这个功能比较常见,比如只允许用户输入数字,那么可以监听键盘事件来实现:
const input = document.querySelector('input')
input.addEventListener('keypress',(e)=>{
if(!/\d/.test(String.fromCharCode(e.charCode))){
e.preventDefault()
}
})
1
2
3
4
5
6
2
3
4
5
6
# 富文本编辑
基本技术是在空白HTML文件中嵌入一个iframe。通过designMode属性,可以将这个空白文档变成可编辑的。
# document.execCommand()
在文档执行命令,可以实现大多数格式化任务,比如设置文本字体颜色,插入元素,复制文本等。
上次更新: 2022/02/20, 17:01:59