onsubmit ="return false"是什么意思?(JavaScript,jQuery)

Sas*_*234 18 javascript forms jquery

我知道提交表单时会发生onsubmit事件.

通常我们所做的是,我们在onsubmit事件上调用一个方法 <form action="" onsubmit="myfunction()">

今天我看到了这个"<form action="" onsubmit="return false">".这个怎么运作?我无法理解是什么意思 onsubmit="return false".

PS:我在学习Ajax时发现了这一点.这是一个教程,解释了如何在不刷新页面的情况下将数据提交到数据库.

Ama*_*ngh 29

这基本上是为了手动处理表单提交.

例如 - 用于验证目的 请参阅下面的代码,看看它是如何有益的:

<script language="JavaScript">
myFunctionName() {
    if (document.myForm.myText.value == '')
        return false;
        //when it return false - your form will not submit and will not redirect too
    else
        return true;
     //when it return true- your form will  submit and will  redirect
// (actually its a part of submit) id you have mentioned in action
}
</script>

<form name="myForm" onSubmit="return myFunctionName()">
<input type="text" name="myText">
<input type="submit" value="Click Me">
</form>
Run Code Online (Sandbox Code Playgroud)

  • 请你能解释一下如果返回 true 会发生什么吗?如果返回 false 会发生什么? (2认同)
  • @Sasa1234 我已经编辑了他上面的代码,并在评论中进行了解释。“当它`返回false`时-您的表单将不会提交并且也不会重定向,如果它`返回true`-您的表单将提交并将重定向(实际上它是提交的一部分)您在行动中提到的ID” (2认同)

AXO*_*AXO 11

根据HTML 标准onsubmit是事件处理程序的名称。事件处理程序内容属性被视为 JavaScript 函数的 FunctionBody,它将用于处理关联的事件。在“事件处理程序处理算法”的第5步中,它说“处理返回值如下”

  • 如果事件是 BeforeUnloadEvent 对象并且事件的类型是 beforeunload
    • 在这种情况下,事件处理程序 IDL 属性的类型将为 OnBeforeUnloadEventHandler,因此返回值将被强制为 null 或 DOMString。
    • 如果返回值不为空,则:
      • 设置事件的取消标志。
      • 如果事件的returnValue属性的值为空字符串,则将事件的returnValue属性的值设置为返回值。
  • 如果特殊错误事件处理为 true
    • 如果返回值为 true,则设置事件的取消标志。
  • 否则
    • 如果返回值为 false,则设置事件的取消标志

因此,简而言之,return false将取消该事件(或者在本例中,取消表单提交)。