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)
AXO*_*AXO 11
根据HTML 标准,onsubmit是事件处理程序的名称。事件处理程序内容属性被视为 JavaScript 函数的 FunctionBody,它将用于处理关联的事件。在“事件处理程序处理算法”的第5步中,它说“处理返回值如下”:
- 如果事件是 BeforeUnloadEvent 对象并且事件的类型是 beforeunload
- 在这种情况下,事件处理程序 IDL 属性的类型将为 OnBeforeUnloadEventHandler,因此返回值将被强制为 null 或 DOMString。
- 如果返回值不为空,则:
- 设置事件的取消标志。
- 如果事件的returnValue属性的值为空字符串,则将事件的returnValue属性的值设置为返回值。
- 如果特殊错误事件处理为 true
- 如果返回值为 true,则设置事件的取消标志。
- 否则
- 如果返回值为 false,则设置事件的取消标志。
因此,简而言之,return false将取消该事件(或者在本例中,取消表单提交)。