老师有问题
来源:4-15 编程练习
早知今日何必当初
2020-07-30 00:02:31
form.addEventListener("submit", function(event) {
if (!this.checkValidity()) {
event.preventDefault();
}
}, true);
1!this.checkValidity())是什么意思 这里的this是form 还是下面的提交按钮,
2!this又是什么意思、
3checkValidity()如果 input 元素中的数据是合法的返回 true,否则返回 false。
!this.checkValidity()为什么意思是验证不通过
1回答
同学你好,问题解答如下:
1.“checkValidity()”可以用来判断单个input是否满足所有的验证条件;当form表单调用该方法时,则可以用来判断表单中的元素是否都满足验证条件,如果都满足了验证条件,就返回true,否则返回false,也就是说只有form表单内,所有的input等元素,验证都通过了,form表单的“checkValidity()”才会返回true。
由于submit是表单form的提交事件,而this处于submit的事件处理函数中,所以this指的是表单form,因此”!this.checkValidity()“就是获取表单是否都验证通过,如果”!this.checkValidity()“的值为true,则说明“this.checkValidity()”是false,即某些元素验证没有通过,那么就是没有验证通过,此时就不提交表单,如下:
2. this指代的是表单form,老师没有明白“!this”是指的哪里,如果是“!this.checkValidity()”这里的,那解释参考上面。
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
相似问题