javascript - onsubmit="return check();"和onsubmit="check();"有什么区别?
巴扎黑
巴扎黑 2017-04-10 17:24:02
[JavaScript讨论组]
<form name="Form" action="t" method="post" onsubmit="return check();">

如果这句没有return有什么不同?

巴扎黑
巴扎黑

全部回复(5)
怪我咯

表单是否提交取决于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";
}

PHP中文网
 <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时才会阻止提交

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号