在acrobat中是否可以select带有javaScript的文本框
Is it possible to select text boxes with javaScript in acrobat
我希望能够使用我的表单输入之一的 JavaScript 功能来显示或隐藏文本框。经过大量研究,我只能找到如何 select 和隐藏其他表单输入法。
这是我的:
var supplyBudget = this.getField("Supply Budget").value;
if (supplyBudget == ""){
/*text box selector*/.style.display = 3;
}
else if (supplyBudget =="0"){
/*text box selector*/.style.display = 3;
}
else{
/*text box selector*/.style.display = 1;
}
这在用户离开输入字段时运行。
*根据 freginold 的评论编辑代码
Acrobat JavaScript 中没有 "selectors"。但是,您可以获取字段数,然后迭代获取名称以找到感兴趣的字段。例如,如果我想隐藏名称以 "name" 开头的所有字段,我可能会写...
for ( var i = 0; i < this.numFields; i++) {
var field = this.getField(this.getNthFieldName(i));
if ( field.name.indexOf("name") > -1 ) {
field.display = display.hidden
}
}
一般来说,要隐藏字段使用...
this.getField("myFieldName").display = display.hidden;
要显示隐藏字段,请使用...
this.getField("myFieldName").display = display.visible;
如果您想隐藏属于页面内容一部分的文本,您不能使用 PDF 执行此操作,除非将该特定文本项目分配给可选内容组 (OCG)...可以显示或隐藏。对于 PDF 页面上下文,没有 "elements" 的概念,就像 HTML 中那样。相反,有一个页面的绘画说明列表,但 JavaScript 无权访问它。
我发现“隐藏纯文本”和文本字段的唯一方法是使用类似于@joelgeraci 答案的方法。我不得不添加另一个空的只读文本框来覆盖要隐藏的文本和文本框。
如:
this.getField("HiddenField").display = display.visible;
然后当我需要“显示”文本和文本框时,我会简单地隐藏隐藏字段:
this.getField("HiddenField").display = display.hidden;
我有多个这样的案例,我一直在为工作创建一个表单,它背后有很多 JS。我不是专家,边走边学。
我希望能够使用我的表单输入之一的 JavaScript 功能来显示或隐藏文本框。经过大量研究,我只能找到如何 select 和隐藏其他表单输入法。
这是我的:
var supplyBudget = this.getField("Supply Budget").value;
if (supplyBudget == ""){
/*text box selector*/.style.display = 3;
}
else if (supplyBudget =="0"){
/*text box selector*/.style.display = 3;
}
else{
/*text box selector*/.style.display = 1;
}
这在用户离开输入字段时运行。
*根据 freginold 的评论编辑代码
Acrobat JavaScript 中没有 "selectors"。但是,您可以获取字段数,然后迭代获取名称以找到感兴趣的字段。例如,如果我想隐藏名称以 "name" 开头的所有字段,我可能会写...
for ( var i = 0; i < this.numFields; i++) {
var field = this.getField(this.getNthFieldName(i));
if ( field.name.indexOf("name") > -1 ) {
field.display = display.hidden
}
}
一般来说,要隐藏字段使用...
this.getField("myFieldName").display = display.hidden;
要显示隐藏字段,请使用...
this.getField("myFieldName").display = display.visible;
如果您想隐藏属于页面内容一部分的文本,您不能使用 PDF 执行此操作,除非将该特定文本项目分配给可选内容组 (OCG)...可以显示或隐藏。对于 PDF 页面上下文,没有 "elements" 的概念,就像 HTML 中那样。相反,有一个页面的绘画说明列表,但 JavaScript 无权访问它。
我发现“隐藏纯文本”和文本字段的唯一方法是使用类似于@joelgeraci 答案的方法。我不得不添加另一个空的只读文本框来覆盖要隐藏的文本和文本框。
如:
this.getField("HiddenField").display = display.visible;
然后当我需要“显示”文本和文本框时,我会简单地隐藏隐藏字段:
this.getField("HiddenField").display = display.hidden;
我有多个这样的案例,我一直在为工作创建一个表单,它背后有很多 JS。我不是专家,边走边学。