所以我有一个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);
答案 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参考。将上述样本放在一起时,它非常有用。