如果未填充字段,则以acrobat形式隐藏页面

时间:2015-04-14 14:24:42

标签: javascript acrobat

我在acrobat XI Pro中有一个6页的表单,需要根据第2页上的文本框的值隐藏页面。

第1页:说明 第2页:测试样本表格,顶部有一个文本框,允许提交的测试样本数量值为1 - 5。基于此值,此页面将通过第3 - 6页进行复制,以允许使用下面的javascript提交其他样本。如果用户选择要提交的1个样本,则仍会保留其他空白页。如果只提交1个样本,我该如何隐藏实际页面3-6?

我对javascript有一个非常基本的了解,所以任何帮助都将不胜感激!

function updateTests()
{
var numTests = this.getField("numberTests");

if(numTests.value > 5){
this.getField("numberTests").value = "";
app.alert("Maximum number of tests allowed for this form is 5. If more are    needed, another form will be required. Please try again.");
}

numTests.value = (numTests && numTests.value >= 1) ? numTests.value : "";

this.getField("tests").value = numTests.value;
var pg2 = this.getField("pageCover2");
var pg3 = this.getField("pageCover3");
var pg4 = this.getField("pageCover4");
var pg5 = this.getField("pageCover5");

pg2.display = (numTests.value >= 2)? display.hidden : display.visible;
pg3.display = (numTests.value >= 3) ? display.hidden : display.visible;
pg4.display = (numTests.value >= 4) ? display.hidden : display.visible;
pg5.display = (numTests.value >= 5) ? display.hidden : display.visible;

this.getField("tests").value = numTests.value;
var pg2 = this.getField("pageCover2");
var pg3 = this.getField("pageCover3");
var pg4 = this.getField("pageCover4");
var pg5 = this.getField("pageCover5");

pg2.display = (numTests.value >= 2)? display.hidden : display.visible;
pg3.display = (numTests.value >= 3) ? display.hidden : display.visible;
pg4.display = (numTests.value >= 4) ? display.hidden : display.visible;
pg5.display = (numTests.value >= 5) ? display.hidden : display.visible;

var pgNum1 = this.getField("page1");
var pgNum2 = this.getField("page2");
var pgNum3 = this.getField("page3");
var pgNum4 = this.getField("page4");
var pgNum5 = this.getField("page5");

pgNum1.value = "Page 1 of " + numTests.value;
pgNum2.value = "Page 2 of " + numTests.value;
pgNum3.value = "Page 3 of " + numTests.value;
pgNum4.value = "Page 4 of " + numTests.value;
pgNum5.value = "Page 5 of " + numTests.value;

1 个答案:

答案 0 :(得分:0)

整个shebang应该和Reader合作,我猜?

仔细查看Acrobat JavaScript文档(它是Acrobat SDK的一部分,可从Adobe网站下载)。

你会发现可以显示/隐藏页面,但只有当它们是模板时,以及你使用的是Acrobat。

对于使用Reader XI或更新版本的东西,你可以反过来做;从基页开始,并将以下页面作为隐藏模板。然后,您评估测试样本的数量,并按照相应的次数生成该页面(这也会使测试样本的最大数量不那么严格)。