【Web前端问题】onsubmit="return check();"和onsubmit="check();"有什么区别?
<form name="Form" action="t" method="post" onsubmit="return check();">
如果这句没有return有什么不同?
回答:
表单是否提交取决于onsubmit事件的返回值。
若onsubmit事件返回false,则将阻止表单的提交。
如果不返回值,则默认为true。
onsubmit="return false;"
将无论何时都阻止表单的提交 onsubmit="return check();"
是否提交表单取决于check()的返回值 onsubmit="check();"
check()的返回值无影响
其他大多数事件也可以这样使用。
例如:<input type="text" onkeypress="return false;" />
将使该输入框无法输入字符`<input type="button" onclick="return false;" />
将使该按钮的点击无效`
回答:
onsubmit="return check();"
是你在点击提交时,把check()整个函数作为返回赋值给onsubmit
onsubmit="check();"
是你在点击提交时,执行check()这个函数
这两个很不一样
回答:
check(){return false;}
一般情况下都一样,返回false就有区别了。
回答:
其实作用是相同的
var onsubmit = function(){ return check();
}
onsubmit();//相当于点击
var onsubmit2 = function(){
check();
}
onsubmit2();
function check(){
console.log("i'm checked");
return "check";
}
回答:
<form onsubmit="check()"></form> <form onsubmit="return check()"></form>
<script>
var forms = document.querySelectorAll('form');
console.log(forms[0].onsubmit)
console.log(forms[1].onsubmit)
看看输出的是什么,表单事件只有显式的return false
时才会阻止提交
回答:
onsubmit事件支持所有浏览器。
onsubmit事件支持且仅支持form标签。
按正常的理解来说,该事件是发生在submit事件触发,但是执行action之前这中间。但是它的使用上有一个小坑。
onsubmit="alert('xxx')"
onsubmit="true/false"
onsubmit="return true/false"
如果在onsubmit中只是简单的执行类似alert()函数,无返回或者返回无关紧要的情况下,这个坑无所谓。
当你执行类似登录验证,或者其他有可能因为条件不足而取消action事件的时候,第二个使用形式会在chrome和firefox中表现异常,设置的false不能正确的终止提交,就是这么个小坑。IE是正常的。这个时候换成第三种形式的就好了,这个区别问题的导致是因为ie内核不支持某些内容。
在有判断的情况下加上onsubmit="return xxx"中的return,因为它具有更广泛的适用性。
以上是 【Web前端问题】onsubmit="return check();"和onsubmit="check();"有什么区别? 的全部内容, 来源链接: utcz.com/a/141469.html