【问题标题】:hide page in acrobat form if fields are not populated如果未填充字段,则在 acrobat 表单中隐藏页面
【发布时间】:2015-04-14 14:24:41
【问题描述】:

我在 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;

【问题讨论】:

    标签: javascript acrobat


    【解决方案1】:

    我想,整个 shebang 都应该与 Reader 一起工作?

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

    您会发现可以显示/隐藏页面,但前提是它们是模板,并且您使用的是 Acrobat。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      • 2019-01-03
      • 2021-03-20
      • 1970-01-01
      相关资源
      最近更新 更多