我有一个子函数alertMSGS,所以alertMSGS函数检查四个变量中的值并给出一个它们不相等的警告消息,因此它将返回false给父函数,它是DoSave()的一个闭包函数,来自我的知识(Begginer到Javascript)。因此,如果返回为假,我需要退出保存,否则需要执行保存。 !见下文 。 非常感谢提前
function alertMSGS(){
var currentWeekEarning = parseFloat( $("#_fid_19").val() );
var totalYearEarning= parseFloat( $("label[for=_fid_39]").next("div").text().replace('$', '').replace(',', '') );
var currentLoss = parseFloat($("#_fid_20").val());
var totalYearLoss= parseFloat($("label[for=_fid_38]").next("div").text().replace('$', '').replace(',', '') )
if( (currentWeekEarning != totalYearEarning) ){
alert("currentWeekEarning Not Equal to totalYearEarning");
return false;
}
if ( currentLoss != totalYearLoss) {
alert(' currentLoss Not Equal to totalYearLoss');
return false;
}
}
DoSave = (function(fn){
return function(){
var resultofalertMSGS = alertMSGS();
if (resultofalertMSGS === false) {
// so if the function returns false then i need to exit from the (DoSave Function) and if it satisfies then i need to perform the (DoSave Function)
}
var result=fn.apply(fn, arguments);
return result;
}
})(DoSave);
答案 0 :(得分:0)
只是一个想法如何实现它。尝试。
DoSave = (function(fn){
var resultofalertMSGS = alertMSGS();
if (resultofalertMSGS) {
(DoSave); // do here what u want to do for saving data
}
var result=fn.apply(fn, arguments); // decide whether it should come inside if or else
return result;
}
})
答案 1 :(得分:0)
略微更改了代码,为我工作。任何方式谢谢
DoSave = (function(fn){
return function(){
var resultofalertMSGS = alertMSGS();
if (resultofalertMSGS === false) {
return false;
}else{
var result=fn.apply(fn, arguments);
return result;
}
}
})(DoSave);