gpt4 book ai didi

javascript - 从一个 JavaScript 函数调用另一个具有 return false 的 JavaScript 函数;?

转载 作者:行者123 更新时间:2023-11-28 02:24:21 25 4
gpt4 key购买 nike

我有这个简单的 javascript 函数,它调用其他 2 个函数:

<script type="text/javascript" language="javascript">

function mainfunction() {
function1()
function2()
}

function function1() {
if (//some test) {
alert('test function1');
return false;
}
}

function function2() {
if (//some test) {
alert('test function2');
return false;
}
}

</script>

我像这样调用mainfunction():

<form id="form1" runat="server" onSubmit="return mainfunction()">

或者像这样:

<asp:Button ID="btntest" runat="server" Text="test button" OnClientClick="return mainfunction()" />

btntest 是一个按钮,它只调用一些重定向到另一个页面的类。


问题

  • 如果我直接调用 2 个函数 function1()function2() 中的任何一个,那么按钮将不会被执行,这正是我想要的。但是...:
    当我调用 mainfunction() 时,每个函数中的警报都会起作用,但 return false; 似乎不起作用,因为不幸的是按钮被执行了。

这是为什么呢?我怎样才能调用这两个函数并让它们return false;工作?

最佳答案

您的mainfunction没有返回任何内容。试试这个:

function mainfunction() {
return function1() && function2();
}

正如评论中提到的,要让您的 mainfunction 正常工作,您必须更改其他函数以始终返回 truefalse:

function function1() {
if (//some test) {
alert('test function1');
return false;
}
return true;
}

编辑一个有趣的技巧是,仅当两个函数都为 true 时,才执行两个函数并且仍然返回 true:

function mainfunction() {
return (function1() + function2()) === 2;
}

关于javascript - 从一个 JavaScript 函数调用另一个具有 return false 的 JavaScript 函数;?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15190987/

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