3

我有一些 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() 函数中,它运行(警告错误值)但在解除警报后,正在调用其他函数,而不是stop

这是功能:

//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 ,有没有办法不允许执行任何进一步的函数?

4

4 回答 4

3
<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">

这会起作用。我希望这就是你要找的。

于 2013-06-20T19:16:31.457 回答
3
"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">

应该停止提交以及停止其他功能的执行

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

于 2013-06-20T19:11:53.883 回答
3

您可以编写一个封装您的逻辑的函数:

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">
于 2013-06-20T19:14:49.513 回答
2

与其返回 false,不如尝试返回。return false 仍然返回要评估的值,而 return 只是退出函数。编辑:也许尝试一个回调函数而不是返回。

于 2013-06-20T19:19:16.767 回答