如何将javascript添加到PDF文档以计算复选框的数量并将值输入文本框区域?

时间:2016-01-06 21:01:56

标签: javascript pdf adobe acrobat

所以我有一个PDF文档,有25个复选框,名为“cb1”到“cb25”。我希望能够计算检查的盒子数量并将该计数放入称为“点”的文本框区域。

我对JS或PDF表单创建不是很熟悉,但是从我能够挖掘的内容来看,我认为我已经接近它了。

我已将以下代码添加到文档级别:

function CountCheckBoxes(aFieldsNames) {
    // count field names that have been selected
    var count = 0;
    // loop through array of field names
    for (i = 0; i < aFieldNames.length; i++) {
      // for field names with a value of not Off increment counter
      if (this.getField(aFieldNames[i]).value != "Off") count++;
    } // end loop of field names
    // return count
    return count;
  } // end CountCheckBoxes

我尝试添加以下代码文本框属性以在鼠标上执行JS并将其作为计算值,这两者似乎都无法用复选框的计数填充文本框。

// var define field names to be tested
var aFields = new Array('cb1', 'cb2', 'cb3', 'cb4', 'cb5', 'cb6', 'cb7', 'cb8', 'cb9', 'cb10', 'cb11', 'cb12', 'cb13', 'cb14', 'cb14', 'cb15', 'cb16', 'cb17', 'cb18', 'cb19', 'cb20', 'cb21', 'cb22', 'cb23', 'cb24', 'cb25');
// count field names that have been selected
event.value = CountCheckBoxes(aFields);

1 个答案:

答案 0 :(得分:2)

下面的代码应该添加到保留计数框的文本字段中。为此,右键单击表单域,然后单击属性 - &gt;计算 - &gt;自定义计算脚本 - &gt; &#34;编辑...&#34 ;.

var sum = 0;
for ( i = 1; i < 26; i++ ) {
        f = "cb" + i;
        field = getField(f);
        if (field.isBoxChecked(0)) {
            sum = sum + 1;
        }
    }
event.value = sum;

这是在实际文档中测试和工作的。以下是有关代码的一些详细信息:

有一个遍历所有25个字段的循环,并为每个字段创建一个字符串。字符串值为&#34; cb1&#34;,&#34; cb2&#34;然后按名称获取字段。如果选中此框,isBoxChecked(0)字段方法将返回true。如果选中一个框,则代码将增加所有已检查字段的总和。完成所有操作后,总和将分配给当前文本字段。

Here is a link到JS for Acrobat参考。将上述样本放在一起时,它非常有用。