表单计算和Javascript PDF表单

表单计算和Javascript PDF表单,javascript,pdf,Javascript,Pdf,我正在制作一个PDF表单,用javascript将5个字段相加。。脚本将添加所有数字,但如果一个字段留空,则总数将全部出错。如果我回去给空白字段加一个零,一切都很好。我怎样才能解决这个问题 this.getField("RUNTOTAL").value = this.getField("RUNRow1").value + this.getField("RUNRow2").value + this.getField("RUNRow3").value + this.getField("RUNRow4

我正在制作一个PDF表单,用javascript将5个字段相加。。脚本将添加所有数字,但如果一个字段留空,则总数将全部出错。如果我回去给空白字段加一个零,一切都很好。我怎样才能解决这个问题

this.getField("RUNTOTAL").value = this.getField("RUNRow1").value + this.getField("RUNRow2").value + this.getField("RUNRow3").value + this.getField("RUNRow4").value + this.getField("RUNRow5").value;
好吧,我试过了,现在根本不起作用。也许我错过了什么

function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

function getFieldValue(RUNRow1) {
  var value = this.getField(RUNRow1).value;
  return isNumeric(value) ? value : 0;
}
function getFieldValue(RUNRow2) {
  var value = this.getField(RUNRow2).value;
  return isNumeric(value) ? value : 0;
}
function getFieldValue(RUNRow3) {
  var value = this.getField(RUNRow3).value;
  return isNumeric(value) ? value : 0;
}
function getFieldValue(RUNRow4) {
  var value = this.getField(RUNRow4).value;
  return isNumeric(value) ? value : 0;
}
function getFieldValue(RUNRow5) {
  var value = this.getField(RUNRow5).value;
  return isNumeric(value) ? value : 0;
]
this.getField("RUNTOTAL").value = getFieldValue("RUNRow1") + getFieldValue("RUNRow2") + getFieldValue("RUNRow3") + getFieldValue("RUNRow4") + getFieldValue("RUNRow5");

这是JavaScript类型松散的结果。我时不时地受到打击。默认情况下,JavaScript将空字符串视为字符串,而不是数字0,除非您说服它这样做

最简单的方法是将每个字段值乘以1(假设字段中确实包含可以转换为有效数字的字符串)

因此,代码如下所示:

this.getField("RUNTOTAL").value = this.getField("RUNRow1").value*1 + this.getField("RUNRow2").value*1 + this.getField("RUNRow3").value*1 + this.getField("RUNRow4").value*1 + this.getField("RUNRow5").value*1;

这是JavaScript类型松散的结果。我时不时地受到打击。默认情况下,JavaScript将空字符串视为字符串,而不是数字0,除非您说服它这样做

最简单的方法是将每个字段值乘以1(假设字段中确实包含可以转换为有效数字的字符串)

因此,代码如下所示:

this.getField("RUNTOTAL").value = this.getField("RUNRow1").value*1 + this.getField("RUNRow2").value*1 + this.getField("RUNRow3").value*1 + this.getField("RUNRow4").value*1 + this.getField("RUNRow5").value*1;

这是JavaScript类型松散的结果。我时不时地受到打击。默认情况下,JavaScript将空字符串视为字符串,而不是数字0,除非您说服它这样做

最简单的方法是将每个字段值乘以1(假设字段中确实包含可以转换为有效数字的字符串)

因此,代码如下所示:

this.getField("RUNTOTAL").value = this.getField("RUNRow1").value*1 + this.getField("RUNRow2").value*1 + this.getField("RUNRow3").value*1 + this.getField("RUNRow4").value*1 + this.getField("RUNRow5").value*1;

这是JavaScript类型松散的结果。我时不时地受到打击。默认情况下,JavaScript将空字符串视为字符串,而不是数字0,除非您说服它这样做

最简单的方法是将每个字段值乘以1(假设字段中确实包含可以转换为有效数字的字符串)

因此,代码如下所示:

this.getField("RUNTOTAL").value = this.getField("RUNRow1").value*1 + this.getField("RUNRow2").value*1 + this.getField("RUNRow3").value*1 + this.getField("RUNRow4").value*1 + this.getField("RUNRow5").value*1;