PDF Javascript计数器

时间:2016-05-05 13:45:40

标签: javascript pdf

我试图给文本字段一个值,该值等于使用计数器填写的文本字段的数量。因此,如果例如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;

1 个答案:

答案 0 :(得分:0)

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 ;

那应该这样做;您可能需要根据您的字段名称调整myFields数组。

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

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