我正在制作一个 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 PDF 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22918871/