返回 NaN 结果的时间计算



我不太擅长脚本,但我创建了一个PDF可填写的表格来计算工作时间。当没有输入数据时,结果字段显示NaN:NaN,如果字段为空,有没有办法隐藏它?

我使用的脚本公式是.....

var hrsStart = parseInt(this.getField("hrsstart1").value.split(":")[0]);
var minStart = parseInt(this.getField("hrsstart1").value.split(":")[1]);
var hrsEnd = parseInt(this.getField("hrsend1").value.split(":")[0]); 
var minEnd = parseInt(this.getField("hrsend1").value.split(":")[1]);
if (minStart > minEnd) { 
  var minRez = 60 + minEnd - minStart;
  var hrsRez = hrsEnd - 1 - hrsStart; 
} else { 
  var minRez = minEnd - minStart;
  var hrsRez = hrsEnd - hrsStart; 
} 
this.getField("Totalhrs1").value = hrsRez + ":" + minRez;

当没有输入数据时,结果字段显示NaN:NaN,如果字段为空,有没有办法隐藏它?

使用 NaN 检查函数 isNaN((,如下所示:

if(!(isNaN(hrsRez)) && !(isNaN(minRez)) {
    this.getField("Totalhrs1").value = hrsRez + ":" + minRez;
}

试试这个:

var startValue = this.getField("hrsstart1").value;
var endValue = this.getField("hrsend1").value;
var timeValue = '';
if(startValue && endValue)
{
    var startArr = startValue.split(":");
    var endArr = endValue.split(":");
    var hrsStart = parseInt(startArr[0]);
    var minStart = parseInt(startArr[1]);
    var hrsEnd = parseInt(endArr[0]); 
    var minEnd = parseInt(endArr[1]);
    if(!isNaN(hrsStart) && !isNaN(minStart) && !isNaN(hrsEnd) && !isNaN(minEnd))
    {
        var minRez, hrsRez;
        if (minStart > minEnd) { 
          minRez = 60 + minEnd - minStart;
          hrsRez = hrsEnd - 1 - hrsStart; 
        } else { 
          minRez = minEnd - minStart;
          hrsRez = hrsEnd - hrsStart; 
        } 
        timeValue = hrsRez + ":" + minRez;
    }
}
this.getField("Totalhrs1").value = timeValue;

最新更新