表单事件的种类
input事件
1.input
事件当<input>
、<select>
、<textarea>
的值发生变化时触发。对于复选框(<input type=checkbox>
)或单选框(<input type=radio>
),用户改变选项时,也会触发这个事件。另外,对于打开contenteditable
属性的元素,只要值发生变化,也会触发input
事件。
2.input
事件的一个特点,就是会连续触发,比如用户每按下一次按键,就会触发一次input
事件。
3.
input
事件对象继承了InputEvent
接口。
select事件
select
事件当在<input>
、<textarea>
里面选中文本时触发。
change事件
change
事件当<input>
、<select>
、<textarea>
的值发生变化时触发。它与input
事件的最大不同,就是不会连续触发,只有当全部修改完成时才会触发,另一方面input
事件必然伴随change
事件。具体来说,分成以下几种情况。
- 激活单选框(radio)或复选框(checkbox)时触发。
- 用户提交时触发。比如,从下列列表(select)完成选择,在日期或文件输入框完成选择。
- 当文本框或
<textarea>
元素的值发生改变,并且丧失焦点时触发。
invalid事件
用户提交表单时,如果表单元素的值不满足校验条件,就会触发invalid
事件。(输入框是必填的,如果不填,点击提交按钮时,就会触发invalid事件,取消提交)
reset事件、submit事件
这两个事件发生在表单对象<form>
上,而不是发生在表单的成员上。
reset
事件当表单重置(所有表单成员变回默认值)时触发。
submit
事件当表单数据向服务器提交时触发。注意,submit
事件的发生对象是<form>
元素,而不是<button>
元素,因为提交的是表单,而不是按钮。
onfocus获取焦点
blur失去焦点