JavaScript return false 不会阻止其他函数的执行
JavaScript return false is not stopping other functions from executing
我有几个JS函数在单击页面上的"保存"按钮时正在运行。该按钮如下所示:
<img src="images/btn/save.gif" name="btnSubmit" onClick="noSpaceTest();minMaxValues();compare2dates(benefit_start_date, benefit_end_date,'javascript:saveNewBenefit()')" width="60" height="22" border="0" class="btnimg">
我感兴趣的函数是minMaxValues((。如果此测试失败,则不应提交表单(在这种情况下,这意味着不应运行任何其他函数。我使用了返回假;在 minMaxValues(( 函数中,它运行(警告错误值(,但在消除警报后,其他函数将被调用,而不是停止。
这是函数:
//Function to validate if maximum benefit value is more the minimum benefit value
function minMaxValues(){
var maxAmt = ($('#maxAmount').val());
var minAmt = ($('#minAmount').val());
if ((minAmt != '') && (maxAmt != '')){
try{
maxAmt = parseInt(maxAmt);
minAmt = parseInt(minAmt);
if(maxAmt < minAmt) {
alert('The maximum benefit amount must be larger than the minimum amount.');
return false;
}
}catch(e){
return false;
}
}//end maxAmt minAmt comparison
return true;
}//end minMaxValues function
如果这个函数返回 false,有没有办法不允许执行任何进一步的函数?
"btnSubmit" onClick="noSpaceTest();minMaxValues()?:return;compare2dates(benefit_start_date, benefit_end_date,'javascript:saveNewBenefit()')" width="60" height="22" border="0" class="btnimg">
或
"btnSubmit" onClick="noSpaceTest();if(!minMaxValues()){return};compare2dates(benefit_start_date, benefit_end_date,'javascript:saveNewBenefit()')" width="60" height="22" border="0" class="btnimg">
应该停止提交以及停止执行其他函数
编辑:你真的应该把它全部放在一个更干净的点击处理程序函数中,这只是一个快速修复
你可以编写一个封装逻辑的函数:
function clickHandler()
{
noSpaceTest();
var minMax = minMaxValues();
if(minMax)
{
compare2dates(benefit_start_date, benefit_end_date,'javascript:saveNewBenefit()')
}
}
然后
<img src="images/btn/save.gif" name="btnSubmit" onClick="clickHandler();" width="60" height="22" border="0" class="btnimg">
<script>
function chuma()
{
noSpaceTest();
if(minMaxValues())
compare2dates(benefit_start_date, benefit_end_date,'javascript:saveNewBenefit()');
}
</script>
<img src="images/btn/save.gif" name="btnSubmit" onClick="chuma();" width="60" height="22" border="0" class="btnimg">
这将起作用。我希望这就是你要找的。
不要返回 false,只需尝试返回。return false 仍然返回要计算的值,而 return 只是退出函数。编辑:也许尝试使用回调函数而不是返回。
相关文章:
- 对其他函数使用匿名函数's参数
- 创建要在其他函数中使用的全局变量
- 在Jquery调用之间添加其他函数
- Mocking console.log()/MOCHA测试框架中的任何其他函数
- 如何从ipify函数返回ip地址,以便在其他函数中使用
- 如果没有其他函数链接到promise,则默认行为
- Javascript创建函数,以便在其他函数之间共享变量
- 使通过函数加载的JSON可用于其他函数
- 可以获取模板实例值,但不能将其用于其他函数
- 如何停止一个函数并将其他函数设置为在 html5 的 javascript 中加载时运行
- 这个关键字位于$.ajax()中,用于调用其他函数来设置url
- SQLite+Javascript:在每个其他函数中执行多个查询
- 调用geocomplete中的其他函数
- 如何在 javascript 中将变量传递给对象内的其他函数
- 如何在Javascript中创建一个调用其他函数的函数
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- AJAX请求返回Javascript获胜't返回特定函数,但将返回其他函数
- 如何在其他函数中使用fn作为函数参数
- 返回带有其他函数的变量
- 如何在ES6中使用Arrow函数引用对象内部的其他函数