PDF Javascript counter

PDF Javascript counter

本文关键字:counter Javascript PDF      更新时间:2023-09-26

我试图给一个文本字段一个值,该值等于使用计数器填写的文本字段的数量。因此,例如,如果10个字段中有3个大于0,我希望事件值为3。当我应用代码时,它可以做任何事情。任何建议。

var cnt = 0;
var v1 = getField("A").value!="" ? getField("A").value : 0;
var v2 = getField("B").value!="" ? getField("B").value : 0;
var v3 = getField("C").value!="" ? getField("C").value : 0;
var v4 = getField("D").value!="" ? getField("D").value : 0;
var v5 = getField("E").value!="" ? getField("E").value : 0;
var v6 = getField("F").value!="" ? getField("F").value : 0;
var v7 = getField("G").value!="" ? getField("G").value : 0;
var v8 = getField("H").value!="" ? getField("H").value : 0;
var v9 = getField("I").value!="" ? getField("I").value : 0;
var v10 = getField("J").value!="" ? getField("J").value : 0;

if (this.getField("v1").value > 0){
cnt++;
}
if (this.getField("v2").value > 0){
cnt++;
}
if (this.getField("v3").value > 0){
cnt++;
}
if (this.getField("v4").value > 0){
cnt++;
}
if (this.getField("v5").value > 0){
cnt++;
}
if (this.getField("v7").value > 0){
cnt++;
}
if (this.getField("v8").value > 0){
cnt++;
}
if (this.getField("v9").value > 0){
cnt++;
}
if (this.getField("v10").value > 0){
cnt++;
}

event.value = cnt;

Yikes…(很抱歉),但整个过程可以简化很多。尝试这一行中的内容(并将此脚本添加到显示已填充字段数的字段的Calculate事件中):

var cntr = 0 ;
var myFields = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]
for (var i = 0 ; i < myFields.length ; i++) {
if (this.getField(myFields[i]).value != this.getField(myFields[i]).defaultValue) {
cntr++ ;
}
event.value = cntr ;

这就应该做到;您可能需要根据字段名称调整CCD_ 1数组。

原始代码不起作用,因为在第一个块中,您定义了一个变量v1(例如),然后将为其分配一个字段值或0。在第二个块中,查看一个名为"v1"的字段,并评估它是否大于0。

在第一块和第二块之间没有连接。