javascript:onsubmit是否仅在检测到“;返回false";
我不太明白javascript:onsubmit是否仅在检测到“;返回false";,javascript,html,Javascript,Html,我不太明白onsubmit=“return validate()”是如何工作的。 为什么我必须返回该函数?这是否仅在检测到语句中的返回false时才起作用 <script type="text/javascript"> function validate() { if ((document.example2.naming.value == "") || (document.example2.feed.value == "")) { al
onsubmit=“return validate()”
是如何工作的。
为什么我必须返回该函数?这是否仅在检测到语句中的返回false
时才起作用
<script type="text/javascript">
function validate() {
if ((document.example2.naming.value == "") || (document.example2.feed.value == "")) {
alert("You must fill in all of the required .fields!");
return false;
}
else {
return true;
}
</script>
<form name="example2" onsubmit="return validate()">
<input type="submit" name="B1" value="Submit">
函数验证(){
如果((document.example2.naming.value==”)| |(document.example2.feed.value==”){
警报(“您必须填写所有必需的.fields!”);
返回false;
}
否则{
返回true;
}
当返回ingfalse
时,您将阻止提交表单
。否则,表单将被提交,即使它可能有验证错误,例如提要
值为空
另一方面,如果返回true
,则表单数据将提交到属性定义的URL。使用返回foronsubmit
确定表单是否实际提交(分别为true
或false
)。当您想在允许表单提交或不允许表单提交之前执行某些特定操作时,这对Javascript非常有用。例如,与您提供的代码一样,如果表单无效-如果某个字段为空,则需要停止表单提交。重要的是,您需要在提交部分包括返回
,如w在您调用的函数中,实际返回true
或false
。这是因为onsubmit
的行为总是要完成的,除非您返回false
。因此,当您执行以下操作时:
onsubmit="validate();"
未返回任何内容(因为缺少return
)-因此函数运行,但仅此而已,因此表单被提交。当添加返回
时,提交取决于返回值-函数返回的内容。如果不使用返回
,则验证
函数返回的内容无关紧要,因为验证
的结果不实际y返回到提交时的onsubmit
再次检查您的假设。