老师有问题

来源: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回答

好帮手慕久久

2020-07-30

同学你好,问题解答如下:

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,即某些元素验证没有通过,那么就是没有验证通过,此时就不提交表单,如下:

http://img.mukewang.com/climg/5f222fde09ab327207820245.jpg

2. this指代的是表单form,老师没有明白“!this”是指的哪里,如果是“!this.checkValidity()”这里的,那解释参考上面。

如果我的回答帮到了你,欢迎采纳,祝学习愉快!

0

0 学习 · 6815 问题

查看课程