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

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

巴扎黑
巴扎黑

répondre à tous(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;" />将使该按钮的点击无效`

Peter_Zhu

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时才会阻止提交

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal