要求文本框在FIllable PDF中具有值

时间:2013-06-03 19:59:40

标签: pdf adobe pdf-generation

我有一个可填写的PDF文件。我想要求TextBox在用户保存PDF文档时具有值,即值不为空。

以下是我的尝试:

(1)在“TextBox”上设置“必填”字段。

问题:除了将文本框的颜色设置为红色外没什么用。

(2)我尝试在“onBlur”事件中使用以下代码:

f = getField(event.target.name)
if (f.value.length == 0)
{    
   f.setFocus()    
   //Optional Message - Comment out the next line to remove
   app.alert("This field is required. Please enter a value.")
}

问题:如果用户从不点击此框,则没有问题

(3)我尝试使用“验证”标签并运行自定义JavaScript。

问题:如果您没有点击该框,则没有验证,因此如果用户忘记填写

,则非常乐意将文本框留空

好的,我没有想法......有人吗?

1 个答案:

答案 0 :(得分:0)

由于您使用的是Acrobat JavaScript,我假设您使用支持并执行Acrobat JavaScript的查看器。
在这种情况下,您可以将文档的WillSave操作设置为自定义JavaScript操作并在此处执行验证。我不确定您是否可以取消保存操作,但至少如果验证失败,您可以显示警告 更新:此脚本将遍历所有字段,并在字段值为空时显示并发出警告。

for ( var i = 0; i < this.numFields; i++) {
    var fieldName = this.getNthFieldName(i);
    var field = this.getField(fieldName);
    if (field.value.length == 0)
    {    
        field.setFocus()    
        app.alert("Field " + fieldName + " is required. Please enter a value.")
    }
}

将脚本放入文档的“保存”操作中,每次用户保存表单时都会运行该脚本。在Acrobat中,您可以在工具&gt;中进行设置。 JavaScript&gt;设置文档操作,然后选择文档将保存。