Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Acrobat表单中计算Javascript中的值我如何写结果?_Javascript_Acrobat - Fatal编程技术网

如何在Acrobat表单中计算Javascript中的值我如何写结果?

如何在Acrobat表单中计算Javascript中的值我如何写结果?,javascript,acrobat,Javascript,Acrobat,我对Acrobat表单中使用的Javascript一无所知 我只想计算非空字段的数量,并将结果写入另一个字段。我已尝试将以下内容放在“计算>自定义计算脚本”下: var sum = 0; for ( i = 0; i < 10; i++ ) { f = "item" + i; if (getField( f ).valueAsString) {sum += 1; } } var cntr = 0 ; for (var i = 1 ; i < 10 ; i++

我对Acrobat表单中使用的Javascript一无所知

我只想计算非空字段的数量,并将结果写入另一个字段。我已尝试将以下内容放在“计算>自定义计算脚本”下:

var sum = 0;
for ( i = 0; i < 10; i++ ) {
    f = "item" + i;
    if (getField( f ).valueAsString) {sum += 1;
    }
}
var cntr = 0 ;
for (var i = 1 ; i < 10 ; i++) {
if (this.getField("item" + i).value != this.getField("item" + i).defaultValue) {
cntr++ ;
}
}
event.value = cntr ;

这是正确的吗?我该如何编写sum呢?

欢迎来到Acrobat JavaScript的精彩世界,但是,web浏览器JavaScript或服务器端JavaScript也同样精彩

无论如何,PDF有它的文档对象模型,在使表单更智能时,至少需要了解一点。因此,强烈建议获取Acrobat JavaScript文档,该文档是Acrobat SDK的一部分,可从下载

现在,为了你的问题;如果我理解正确,您希望显示有多少字段具有值。最简单的方法是使用itemx名称,其中x是1到9之间的数字,如下所示:

在显示具有值的字段数的字段中,添加以下自定义计算脚本:

var sum = 0;
for ( i = 0; i < 10; i++ ) {
    f = "item" + i;
    if (getField( f ).valueAsString) {sum += 1;
    }
}
var cntr = 0 ;
for (var i = 1 ; i < 10 ; i++) {
if (this.getField("item" + i).value != this.getField("item" + i).defaultValue) {
cntr++ ;
}
}
event.value = cntr ;

这就够了。

太棒了,非常感谢莱昂纳多·达芬奇。那么公式‘event.value=cntr’实际上是一条输出指令?奇怪的谢谢你的花…嗯,这不是真正的输出;这行代码所做的是在脚本运行时设置运行脚本的字段的值……您必须习惯字段事件处理序列,但当您获得它时,它提供了巨大的潜力,只需很少的编码工作。