0

我们有一些代码,其中一些提交表单的函数返回一个布尔值。此函数在<button>标记中被调用并附加到其 onclick 事件处理程序,例如,

onclick="goBack();"

这里有什么用return true?没有它,它也可以正常工作。因此,使用过遗留代码的人请加入您的意见。

function goBack() 
{
    document.forms[0].action = "HomePage.jsp";
    document.forms[0].method = "POST";
    document.forms[0].submit();
    return true;
}
4

3 回答 3

1

在这种情况下,该return true语句不执行任何操作。
但是,如果它return false与 结合使用onclick=return goBack(),它将取消onclick事件,这就是为什么您会看到事件处理程序通常返回布尔值的原因。

另请注意,goBack()可能会在其他可能期望它返回的地方使用它true

于 2013-09-11T17:17:17.267 回答
1

正如其他人所提到的,通常不返回任何内容并返回 true 在事件处理程序中都同样成功,而返回 false 往往会停止其轨道中的操作 - 防止冒泡、默认处理程序等。

于 2013-09-11T17:31:56.637 回答
0

在这种情况下onclick="goback()",对提交函数的默认行为没有任何影响,并且会像执行和提交表单一样正常工作,goBack()但如果它被写成:

onclick="return goBack()"

然后这意味着执行该goBack()功能并继续提交按钮的默认行为,因为它返回true

如果它返回false,那么它会跳过提交函数的默认行为。当我们想要阻止执行 abutton或的默认行为时,基本上会使用它link

于 2013-09-11T17:26:01.903 回答