gpt4 book ai didi

javascript - 带表单验证 : why onsubmit ="return functionname()" instead of onsubmit ="functionname()"?

转载 作者:IT王子 更新时间:2023-10-29 03:04:23 25 4
gpt4 key购买 nike

这个问题不言自明。我不明白 return 在以下代码中做了什么:

<form onsubmit="return somefunction()">

最佳答案

您需要 return 以便将 true/false 传递给表单的提交事件(该事件会查找它并在它得到 false 时阻止提交)。

让我们看一些标准的 JS:

function testReturn() { return false; }

如果您只是在任何其他代码中调用它(无论是 onclick 处理程序还是在其他地方的 JS 中),它将返回 false,但您需要对该值执行一些操作。

...
testReturn()
...

在该示例中,返回值正在返回,但没有发生任何事情。你基本上是说执行这个函数,我不在乎它返回什么。相反,如果你这样做:

...
var wasSuccessful = testReturn();
...

那么你已经对返回值做了一些事情。

这同样适用于 onclick 处理程序。如果您只是在 onsubmit 中调用没有 return 的函数,那么您就是在说“执行此操作,但如果它返回 false,则不要阻止该事件”。这是在提交表单时执行此代码的一种方式,但不要让它停止事件。

添加返回后,就是说您调用的内容应该确定事件(提交)是否应该继续。

此逻辑适用于 HTML 中的许多 onXXXX 事件(onclick、onsubmit、onfocus 等)。

关于javascript - 带表单验证 : why onsubmit ="return functionname()" instead of onsubmit ="functionname()"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5195933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com