Javascript 返回NaN结果的时间计算

Javascript 返回NaN结果的时间计算,javascript,Javascript,我不太擅长脚本,但我已经创建了一个PDF可填充表单来计算工作时间。当没有输入数据时,结果字段显示为NaN:NaN,如果字段为空,是否有方法隐藏此信息 我使用的脚本公式是 var hrsStart = parseInt(this.getField("hrsstart1").value.split(":")[0]); var minStart = parseInt(this.getField("hrsstart1").value.split(":")[1]); var hrsEnd = parseI

我不太擅长脚本,但我已经创建了一个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 checker函数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;

当输入数据时,它似乎工作正常,我有5天的时间来工作,并用不同的开始和结束时间进行了测试,它工作了。我在计算中添加了第二部分,以腾出午餐时间,我只是复制了您的脚本并对其进行了更改,但它不工作,如果更改了值,也不会更新。第一部分很好,但第二部分不行,所以它需要使用Totalhrs1-午餐HRS1你能帮我吗@PinetreeI不知道如何帮助您,除非您将代码粘贴到这里。它不允许我添加到这里,因为它太长了。抱歉,但我使用了您在上面给我的脚本,并将hrsstart1更改为Totalhrs1,将hrsend1更改为午餐休息时间1,因此它会取总数并扣除午餐休息时间@松树你可以编辑你的问题,将你的第二部分代码粘贴到那里,让人们更清楚地了解你的问题,我不知道我是否能帮上忙,但有人可能会帮上忙。