JavaScript return false 并没有阻止其他函数的执行

标签 javascript jquery function validation return

我有一些 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()。如果此测试失败,则不应提交表单(在本例中意味着不应运行任何其他函数。)我使用了 return false;在 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">

应该停止提交以及停止其他函数的执行

编辑:你真的应该把它全部放在一个更干净的点击处理函数中,这只是一个快速修复

关于JavaScript return false 并没有阻止其他函数的执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17221801/

相关文章:

javascript - 将参数传递给 iframe src

c - 可变大小数组,来自函数,从函数调用

vb.net - 函数中的递归值

jquery - JQM 模板中未正确添加 CSS

c++如何取模板函数实例的地址?

javascript - 2018年如何检测浏览器是否离线?

javascript - 仅显示下拉 ajaxToolkit 中匹配的搜索模式项 :ListSearchExtender

javascript - 缩放时使元素适合视口(viewport)宽度

javascript动态HTML表格行导致问题

javascript - Javascript 中的 HTML 表条件格式代码未按计划工作