PDF中的多选表单域

时间:2010-04-01 15:48:02

标签: multi-select pdf-form

使用PDF,是否可以创建一个包含多个字段的单个表单元素,其中可以选择多个字段?例如,在HTML中,可以创建一组与同一字段名称关联的复选框:

<div>Select one for Member of the School Board</div>
<input type="checkbox" name="field(school)" value="vote1">
<span class="label">Libby T. Garvey</span><br/>
<input type="checkbox" name="field(school)" value="vote2">
<span class="label">Emma N. Violand-Sanchez</span><br/>

在这种情况下,字段名称为“field(school)”,提交表单时,“field(school)”可以提供0,1或2次。

PDF中是否存在等效构造,其中单个字段可以具有多个值。到目前为止,在我的调查中,似乎如果字段被赋予相同的名称,则只能选择一个字段。如果可以在PDF中实现它,那么这个构造被调用了什么以及如何实现它?

编辑:为了澄清,我知道PDF可以包含多个具有不同字段名称的表单字段,并且这些字段可以单独选择,但随后分组是隐式的,而不像HTML表单那样显式。我想使用一个构造,使选项分组显式,并且最好允许限制(例如,至少需要一个,允许不超过2个等)。

编辑:如果有人能够找到一个不可能的权威观点,那也是一个理想的答案。

2 个答案:

答案 0 :(得分:1)

是的,这是可能的。在Adobe PDF中,您有复选框概念和单选按钮概念。虽然每个复选框和单选按钮都有自己的名称,但也可以通过GroupName.subobj通过子编号进行分组。

Adob​​e将其描述如下:

  

字段名称。这可能包括   分层语法以便   促进逻辑分组。对于   例如,名称myGroup.firstField   暗示表单字段firstField   属于一组叫做的字段   我的组。创造的好处   你可以使用逻辑层次结构   强制执行一致性   相关表格字段的属性   设置组的属性,   它会自动传播到所有人   组内的表单字段。

当通过层次结构设置字段时,您可以在这种情况下获取myGroup的值,并返回组的选定值。类似地,对于RadioButtons,您将确保组中的所有字段具有相同的名称。

  

这种创建表单字段的方法   适用于所有领域,但它   应该注意单选按钮   需要特殊待遇。既然一套   单选按钮代表一组   相互排斥的选择,他们   属于同一组。因为   这,所有单选按钮的名称   在同一组中必须是相同的。   另外,

的出口值      

必须设置单选按钮组   单个语句,其中包含一个数组   值由...分配   field的exportValues属性   宾语。例如,假设我们愿意   喜欢创建一套三个收音机   按钮,每个12点宽12   高点,全部命名为myRadio。我们   将它们放在第5页   文档及其导出值   是,否,和取消。他们可以   创建如给出的代码所示   下面:

var name = "myRadio";
var type = "radiobutton";
var page = 5;
var rb = this.addField(name, type, page, [400, 442, 412, 430]);
this.addField(name, type, page, [400, 427, 412, 415]);
this.addField(name, type, page, [400, 412, 412, 400]);
rb.exportValues=["Yes", "No", "Cancel"];

答案 1 :(得分:1)

asnyder的回答让我得出结论,没有自动方法来处理单个字段中的多个值(就像HTML一样)。 asnyder的例子来自使用JavaScript开发Acrobat应用程序,可从Acrobat Javascript Developer Center获得。本文档提供了一些如何操作复选框,组合框和单选按钮的示例。所有这些例子都解释了这个问题,并最终得出结论,任何使用PDF表单的系统都会隐式定义任何多选组。

使用groupName.fieldName的构造似乎对于将小部件作为一个组(在Acrobat Javascript中)进行操作很有用,但是无法枚举组的字段(不枚举所有字段并过滤groupName),以及没有以编程方式检查价值观,就无法确定该群体的集体价值。

换句话说,多选择值不是Acrobat的固有特征,也不是PDF的本质特征,尽管可以通过编程实现这样的形式。