javascript - 如何使用 Javascript 计算 Acrobat PDF 中的字段?
问题描述
计算字段 Acrobat pdf Javascript 当我跳过一个字段时,总金额显示不正确,但是当每个字段都有一个从上到下的值时它可以正常工作。怎么了?
var fields = this.getField("amount");
var a = fields.getArray();
var sum = 0;
for (i = 0; i < a.length; i++){
sum += a[i].value;
//I tried to place zeros in the fields if there are no values
if (fields.value == null){
fields.value = 0;
}
}
//This code accept the total amount and also hides the default zeros
if (sum > 0){
event.value = sum;
}
else {
event.value = "";
}
解决方案
value
在这样的循环中,在将运行总计相加之前,我通常会通过比较它与它的值来检查一个字段是否有值defaultValue
。该行如下所示:
if (this.getField("myField").value != this.getField("myField").defaultValue) {
通常,在值级别上进行比较就足够了,但如果 0 是合法值,则比较必须包括类型。然后它看起来像这样:
if (this.getField("myField").value !== this.getField("myField").defaultValue) {
那应该这样做。
推荐阅读
- java - 来自嵌套 POJO 的比较器
- asp.net-core-webapi - request.IsPasswordGrantType() 在 ASP.NET Core 3.1 的 openiddict 中总是失败
- c# - 接受通过 ajax 在 Post 请求中发送的 Web API (C#) 中的 ArrayBuffer(不使用表单)
- html - 我可以使用 amp-state 设置简单的键值对吗?
- vue.js - 从组件发出侦听器后更改道具中使用的外部变量的值会禁用 Vue.js 中的 v-model 侦听器效果
- java - 使用 Java 8 流减小列表的大小
- python - 使用 Numpy Convolve 时幅度正在变化
- python - 在 sympy 或替代方案中导出点云方程
- batch-file - 仅移动第一个文件
- python-3.x - 尝试读取 proc.stdout.readline 中的所有行时陷入无限循环