我有一个字段,根据他们的工作量计算白天自由职业者的总小时数和分钟数。我的问题是,在插入任何时间之前,在字段中总是可以看到以下文本(nan:nan)我在我的代码下方使用,有人可以让我知道如何使其不可见,谢谢。
function Min2HHMM(nMinutes) {
// convert minutes to HH:MM string and returns formatted time string
return util.printf("%,001.0f:%,202.0f", Math.floor(nMinutes / 60), nMinutes % 60);
}
var T1 = this.getField("Start_Mon_01").value;
var T2 = this.getField("Finish_Mon_01").value;
var T3 = this.getField("Start_Mon_02").value;
var T4 = this.getField("Finish_Mon_02").value;
var start = T1.split(":");
var startmins1 = parseInt(start[0] * 60,10) + parseInt(start[1],10);
var finish = T2.split(":");
var finishmins1 = parseInt(finish[0] * 60,10) + parseInt(finish[1],10);
var start = T3.split(":");
var startmins2 = parseInt(start[0] * 60,10) + parseInt(start[1],10);
var finish = T4.split(":");
var finishmins2 = parseInt(finish[0] * 60,10) + parseInt(finish[1],10);
var timeDiff = finishmins1 - startmins1 + finishmins2 - startmins2;
event.value = Min2HHMM(timeDiff);
答案 0 :(得分:0)
有几种方法:
function getNum(str) {
return isNaN(str) || str=="" ? 0:parseInt(str,10);
}
var T1 = getNum(this.getField("Start_Mon_01").value);
var T2 = getNum(this.getField("Finish_Mon_01").value);
var T3 = getNum(this.getField("Start_Mon_02").value);
var T4 = getNum(this.getField("Finish_Mon_02").value);
OR
return isNaN(nMinutes) ? "0:00": util.printf("%,001.0f:%,202.0f", Math.floor(nMinutes / 60), nMinutes % 60);
或
event.value = isNaN(timeDiff)?"0:00": Min2HHMM(timeDiff);
应该有用。
也不需要对你繁殖的东西进行解析。
parseInt(start[0] * 60,10)
与start[0] * 60