对HTML5表单的脚本支持 scripting-support-for-html-forms

JavaScript、FormCalc属性以及HTML5表单中支持的方法如下所示:

$event event

属性
描述
例外
prevText
指定在字段内容因用户操作而更改之前,该字段的内容。 此值可重新调用,类似于撤消功能。

不适用于下拉列表和列表框。 PrevText 在以下情况下无法正常工作:

  • 在iPad的数值字段中键入一些特殊字符键(例如,$或、&或@等)时,以及
  • 对于“日期”字段(通过日历输入日期时)。

不支持通过脚本设置值。

target
指定事件对其执行操作的对象。
不支持通过脚本设置值。
newtext
指定字段在响应用户操作而更改后的内容。

对于以下情况,newText属性无法正常工作:

  • 关于选择 — 替换文本
  • 在删除、复制和粘贴文本时。
  • 在数字字段中键入一些特殊字符键(例如,$或、&或@等)时
  • 使用Shift +字母数字组合时。
  • 使用日期/时间字段时。

不支持通过脚本设置值。

更改
指定用户执行操作后立即键入或粘贴到字段中的值。

在以下情况下,更改属性无法正常工作:

  • 关于选择 — 替换文本
  • 在删除、复制和粘贴文本时。
  • 在数字字段中键入一些特殊字符键(例如,$或、&或@等)时
  • 使用Shift +字母数字组合时。
  • 使用日期/时间字段时。

不支持通过脚本设置值。

键控
确定用户是否按箭头键进行选择。 此属性仅适用于列表框和下拉列表。
修饰符
确定在特定事件执行时是否按住修饰符键(例如,Microsoft®Windows®上的Ctrl)。

$host host

属性
描述
例外
apptype
返回主机的应用程序类型。 仅适用于客户端应用程序。
返回HTML 5
name
返回当前应用程序的名称。
返回浏览器名称及其版本。 例如,在Chrome浏览器中,返回值为 Chrome <version>.
numPages
返回文档中的页数。
HTML5表单的分页策略与PDF forms分页策略不同。 因此,在这两种情况下, numPages API都可以返回不同的值。
platform
返回表示运行脚本的计算机平台的字符串。
title
指定文档的标题。 它仅适用于客户端应用程序。
它会以表单形式返回HTML文档的标题,而不是像存在PDF forms一样返回表单元数据标题。
version
返回表示当前应用程序的版本号的字符串。
它会返回表单的版本。
calculationsEnabled
指定是否执行计算脚本。
validationsEnabled
指定是否执行验证脚本。
pageUp
转到上一页。
HTML5表单与PDF表单不遵循相同的分页策略,因此HTML5表单的上一页与PDF表单的上一页不同。
pageDown
移到表单的下一页。 在运行时使用pageDown方法。
setFocus
将键盘焦点设置为指定的字段。 字段指定为对象,或者由字段的SOM表达式指定。 它仅适用于客户端应用程序。
resetdata
将文档中的字段重置为默认值。
清除包含合并数据的表单中的所有数据,而不是将其恢复为默认值。
messageBox
在屏幕上显示一个对话框。 它仅适用于客户端应用程序
类型为“是/否”的消息框将转换为“确定/取消”。 不支持带有三个按钮的消息框。
当前页面

在运行时设置文档的当前活动页面。

页面值从0开始,因此文档的第一页返回值0。

当在客户端上执行layout:ready时,currentPage属性可用。 但是,当在服务器上执行layout:ready时,它不可用,因为只有在执行表单布局后才会执行属性。

字段 field

属性
描述
例外
presence
控制关联对象在处理不同阶段的参与情况。 如果对象是容器,则该容器的内容将继承此控件适用的任何限制。
access
控制用户对内容的访问。
不适用于排除组。 此外,HTML5表单对非交互对象和受保护对象进行相同处理。
name
脚本表达式中用于标识此元素的标识符。
HTML5表单不允许设置对象的名称属性。 对于HTML5表单,它是只读属性。
value
包含单个数据内容单元的内容元素。
rawValue
指定此字段的未格式化值。
formattedValue
指定此字段的格式化值。
不支持通过脚本设置formattedValue
editValue
指定此字段的编辑值。
不支持通过脚本设置editValue
formatMessage
指定此字段的格式验证消息字符串。
不支持通过脚本设置formatMessage
fillcolor
指定此字段的背景颜色值。 您需要将border.fill.presence属性设置为单独可见。
它无法正确返回字段的默认颜色。
border
border对象描述对象周围的边框。
ui
ui对象包含表单对象的用户界面描述。
mandatory
指定字段的nullTest值。
borderColor
指定此字段的边框颜色值。 您需要将border.edge.presence属性设置为单独可见。
它无法正确返回字段的默认边框颜色。
length
列表中的项目数。
addItem
向当前字段添加新项。
clearItem
从字段中删除所有项。
boundItem
获取下拉列表或列表框的特定显示项的绑定值。
execCalculate
执行字段的计算脚本。
execValidate
执行字段的验证脚本。
execEvent
执行对象的事件脚本。
getItemState
返回指定项目的选择状态
setItemState
设置指定项的选择状态。
getDisplayItem
检索指定项目索引的项目显示文本。
getSaveItem
检索指定项索引的数据值。
deleteItem
删除指定索引处的项目。
setItems
在当前字段中设置指定项。 它替换预先存在的项目。
h
布局高度的测量。
w
指定布局宽度的测量。
x
指定当使用定位布局放置时容器锚点相对于父容器左上角的x坐标。
y
指定当使用定位布局放置时,容器锚点相对于父容器左上角的y坐标。
题注
标题对象描述与表单设计对象关联的描述性标签。
验证
validate对象控制对表单上的用户提供数据的验证。 验证对象可在表单的生命周期中多次激活。
parentSubform
指定此字段的父子表单(页面)。
始终返回父子表单,而不是返回第一个非作用域父子表单。
选定索引
第一个选定项的索引。

表单 form

属性
描述
异常
formNodes
返回绑定到指定数据对象的所有表单模型对象的列表。

InstanceManager instancemanager

属性
描述
name
脚本表达式中用于标识此元素的标识符。
occur
描述其封闭容器允许实例数的约束。
min
指定可实例化的实例的最小数目。
max
指定可实例化的实例的最大数量。
count
指定当前实例化的实例数。
setInstances
从此节点添加或删除指定的子表单或子表单集。
addInstance
将子表单或子表单集的新实例添加到此节点。
removeInstance
从此节点删除子表单或子表单集。
moveInstance
将表单模型对象的子对象移动到表单模型内的另一个指定位置。 对象对应的数据模型信息也在该数据模型中重新定位。
insertInstance
将子表单或子表单集的新实例插入此节点。

list list

属性
描述
length
列表中的元素数。
item
集合中从零开始的索引。
append
在节点列表的末尾附加一个节点。
remove
从节点列表中删除节点。
insert
在节点列表中的特定节点之前插入一个节点。

节点 node

属性
描述
例外
createNode
基于有效的类名创建新节点。
isContainer
指定此对象是否为容器对象。
isNull
指示当前数据值是否为null值。
resolveNode
从当前XML表单对象模型对象开始,计算指定的SOM表达式,并返回SOM表达式中指定的对象的值。
resolveNodes
从当前XML表单对象模型对象开始,计算指定的SOM表达式,并返回SOM表达式中指定的对象的值。
oneOfChild
基于有效的类名创建新节点。
getElement
返回指定的子对象。
getAttribute
获取指定的属性值。
setAttribute
设置指定属性的值。

模型 model

属性
描述
例外
NA
NA
NA

子表单 subform

属性
描述
例外
instanceIndex
指定相对于其他实例化实例的对象索引。
execEvent
执行对象的事件脚本。
getInvalidObjects
返回子表单(包含)中包含的、未通过验证测试的节点列表。
边框
border对象描述对象周围的边框。
borderColor
指定此字段的边框颜色值。 您需要将border.edge.presence属性设置为单独可见。
h
布局高度的测量。
w
指定布局宽度的测量。
x
指定当使用定位布局放置时容器锚点相对于父容器左上角的x坐标。
y
指定当使用定位布局放置时,容器锚点相对于父容器左上角的y坐标。
验证
validate对象控制对表单上的用户提供数据的验证。 验证对象可在表单的生命周期中多次激活。
name
脚本表达式中用于标识此元素的标识符。
存在
指定对象的可见性。
访问
控制用户对容器对象(如子表单)内容的访问权限。
execvalidate
根据子表单或子表单集相对于同一表单对象的其他实例的位置计算其索引。
instancemanager
instanceManager对象管理表单模型对象的实例创建、移除和移动。

提交 submit

属性
描述
目标
数据提交到的URL。 缺少此属性意味着XFA处理应用程序使用产品特定技术获取URI,例如访问配置对象中的产品特定信息。

tree

属性
描述
例外
节点
返回当前对象的所有子对象的列表。
  • xfa.nodes不支持,desc
  • 为PDF和HTML报告的节点数不同。
name
指定此节点的名称。
HTML中不允许使用脚本设置名称。
父母
获取此节点的父节点。
index
返回此节点在其同名、范围内、同子关系节点集合中的位置。
somexpression
获取此节点的SOM表达式。
resolveNode
从当前XML表单对象模型对象开始,计算指定的SOM表达式,并返回SOM表达式中指定的对象的值。
resolveNodes
从当前XML表单对象模型对象开始,计算指定的SOM表达式,并返回SOM表达式中指定的对象的值。

subformset subformset

属性
描述
例外
instancemanager
instanceManager对象可管理表单模型对象的实例创建、移除和移动。

content content

属性
描述
异常
isNull
指示当前数据值是否为空值。

数据值 datavalue

属性
描述
异常
isNull
指示当前数据值是否为空值。

edge edge

属性
描述
例外
颜色
color属性描述图案对象的唯一颜色。
  • 无法检索默认值。
  • 更改会反映在模型中,并可用于编写脚本,但不会同步到HTML元素。 因此,这些更改不会反映在UI中。

填充 fill

属性
描述
例外
颜色
颜色属性定义填充的唯一颜色。
  • 无法检索默认值。
  • 更改会反映在模型中,并可用于编写脚本,但不会同步到HTML元素。 因此,这些更改不会反映在UI中。

线性 linear

属性
描述
例外
颜色
color属性描述表单上线性渐变填充的唯一颜色。
  • 无法检索默认值。
  • 更改会反映在模型中,并可用于编写脚本,但不会同步到HTML元素。 因此,这些更改不会反映在UI中。

折线图 line

属性
描述
例外
edge
Edge对象描述圆弧、直线或边框或矩形的一侧。
不支持颜色、大写等属性。

模式 pattern

属性
描述
例外
颜色
color属性描述图案对象的唯一颜色。
  • 无法检索默认值。
  • 更改会反映在模型中,并可用于编写脚本,但不会同步到HTML元素。 因此,这些更改不会反映在UI中。

径向 radial

属性
描述
例外
颜色
color属性描述径向对象的唯一颜色
  • 无法检索默认值。
  • 更改会反映在模型中,并可用于编写脚本,但不会同步到HTML元素。 因此,这些更改不会反映在UI中。

点缀 stipple

属性
描述
例外
颜色
color属性描述点状对象的唯一颜色。
  • 无法检索默认值。
  • 更改会反映在模型中,并可用于编写脚本,但不会同步到HTML元素。 因此,这些更改不会反映在UI中。

draw draw

属性
描述
例外
ui
ui对象包含表单对象的用户界面说明。
题注
题注对象描述与表单设计对象关联的描述性标签。
存在
指定对象的可见性。
name
指定可用于在脚本表达式中指定此对象或事件的标识符。
不支持在运行时设置值
值对象包含单个数据内容单元。

拐角 corner

属性
描述
例外
颜色
color属性描述角对象的唯一颜色。
  • 无法检索默认值。
  • 更改会反映在模型中,并可用于编写脚本,但不会同步到HTML元素。 因此,这些更改不会反映在UI中。

checkButton checkbutton

属性
描述
例外
边框
border对象描述了checkButton对象周围的边框。
更改会反映在模型中,并可用于编写脚本,但不会同步到HTML元素。 因此,这些更改未反映在UI中。

choiceList choicelist

属性
描述
例外
边框
border对象描述围绕choiceList对象的边框。

dateTimeEdit datetimeedit

属性
描述
异常
边框
border对象描述围绕dateTimeEdit对象的边框。

图像 image

属性
描述
例外
内容类型
指定引用文档中的内容类型,以MIME类型表示。
名称
脚本表达式中用于标识此元素的标识符。

imageEdit imageedit

属性
描述
异常
边框
border对象描述了imageEdit对象周围的边框。

numericEdit numericedit

属性
描述
异常
边框
border对象描述对象周围的边框。

对象 object

属性
描述
例外
类名
确定此对象的类的名称。

矩形 rectangle

属性
描述
例外
edge
Edge对象描述圆弧、直线或边框或矩形的一侧。
不支持颜色、大写字母等属性。

textEdit textedit

属性
描述
例外
边框
边框对象描述对象周围的边框。

不包括组 exclgroup

属性
描述
例外
布局
指定此对象使用的布局策略。
边框
指定此字段周围的边框。
必需
指定字段的nullTest值。
borderColor
指定此字段的边框颜色值。必须先定义边框,然后才能通过脚本更改颜色。
borderWidth
指定此字段的边框宽度。
h
布局高度的测量。
瞬态
指定处理应用程序是否必须在表单提交或保存操作过程中保存排除组的值。
w
指定布局宽度的测量。
x
指定当使用定位布局放置时容器锚点相对于父容器左上角的x坐标。
y
指定当使用定位布局放置时,容器锚点相对于父容器左上角的y坐标。
题注
标题对象描述与表单设计对象关联的描述性标签。
验证
validate对象控制对表单上的用户提供数据的验证。 验证对象可在表单的生命周期中多次激活。
数据节点
获取合并后表单节点绑定到的数据节点。
存在
指定对象的可见性。
访问
控制用户对容器对象(如子表单)内容的访问权限。
对于排除中的单个项目,它始终返回open。
name
指定可用于在脚本表达式中指定此对象或事件的标识符。
成员
指定排除组的成员。
selectedMember
返回排除组的选定成员。
execCalculate
对指定对象的计算事件以及任何子对象执行任何脚本。
计算
计算对象控制字段值的计算。

圆弧 arc

属性
描述
例外
edge
Edge对象描述圆弧、直线或边框或矩形的一侧。
不支持颜色、大写字母等属性。

边框 border

属性
描述
例外
edge
Edge对象描述圆弧、直线或边框或矩形的一侧。
不支持颜色、大写字母等属性。

$layout layout

属性
描述
例外
h
确定给定表单设计对象的高度。
  • 页面区域和内容区域不支持高度(h)属性。
  • 不支持参数“从第一个内容区域偏移XFA-Form对象发生位置”。
w
确定给定表单设计对象的宽度。
  • 页面区域和内容区域不支持宽度(w)属性。
  • 不支持参数“从第一个内容区域偏移XFA-Form对象发生位置”。
x
确定给定窗体设计对象相对于其父对象的x坐标。
  • 页面区域和内容区域不支持x坐标(x)属性。
  • 不支持参数“从第一个内容区域偏移XFA-Form对象发生位置”。
y
确定给定窗体设计对象相对于其父对象的y坐标。
  • 页面区域和内容区域不支持y坐标(y)属性。
  • 不支持参数“从第一个内容区域偏移XFA-Form对象发生位置”。
pagecount
确定当前表单的页数。
  • layout.pageCount()方法会为PDF表单和HTML表单返回不同的值。
  • 通过隐藏对象来减少页数时,abspagecount方法返回不正确的值。
pagecontent
从表单的指定页面中检索表单设计对象的类型。
abpagecount
确定当前表单的页数。
  • layout.pageCount()方法会为PDF表单和HTML表单返回不同的值。
  • 在通过隐藏对象来减少页数时,abspagecount方法返回不正确的值。

项目 items

属性
描述
异常
存在
指定对象的可见性。

FormCal formcalc

FormCalc是一种特定于XFA的语言,用于创建以电子表单为中心的逻辑和计算根。 FormCalculation提供了一组功能强大的构建函数。

FormCalc支持的函数 formcalc-supported-functions

FormCalc表达式支持 formcalc-expression-support

类别
描述
样本
简单表达式
加、减、乘、除和括号
(a+b)*3
变量声明
定义变量
变量a
var a=3
a=3
逻辑表达式
  • 逻辑(和/或)
  • 比较(大/小/等)
A或1
1 <> 2
A NE B
A或1
1 <> 2
A NE B
If表达式
如果(a>b),则2 endif
同时
而(i lt 5)do i = i + 1 endwhile
对象
对于i = 100,减少到1
,do s = s + i endfor
每个
对于(1, 2, 3)中的每个i
do s = s + i endfor
函数声明
在FormCalc中定义自定义函数
func foo(n) do var f = n endfunc

Acrobat API支持 acrobat-api-support

  1. 算术函数

    1. Abs()
    2. Avg()
    3. Ceil()
    4. Count()
    5. Floor()
    6. Max()
    7. Min()
    8. Mod()
    9. Round()
    10. Sum()
  2. 科学函数

    1. Acos()
    2. Asin()
    3. Atan()
    4. Atan2()
    5. Cos()
    6. Sin()
    7. Tan()
    8. Exp()
    9. Log()
    10. Pow()
    11. Sqrt()
    12. Deg2Rad()
    13. Rad2Deg()
    14. Pi()
  3. 财务函数

    1. 4月()
    2. Cterm()
    3. Fv()
    4. Ipmt()
    5. Npv()
    6. Pmt()
    7. Ppmt()
    8. Pv()
    9. Rate()
    10. Term()
  4. 逻辑函数

    1. Choose()
    2. If()
    3. Oneof()
    4. Within()
  5. 字符串函数

    1. At()
    2. Concat()
    3. Left()
    4. Len()
    5. Lower()
    6. Ltrim()
    7. Replace()
    8. Right()
    9. Rtrim()
    10. Space()
    11. Stuff()
    12. Substr()
    13. Upper()
    14. WordNum()
  6. 日期和时间

    1. 日期()
    2. num2date()
    3. DateFmt()
API
描述
像差
console.println()
此acrobat API将输出转储到JavaScript控制台。
app.alert()
此acrobat API通过JavaScript弹出窗口发送警报消息。
app.beep()
使系统播放声音。
不执行任何操作。
app.execDialog()
向用户显示一个模式对话框。 必须先关闭模式对话框,然后才能再次直接使用主机应用程序。
未执行任何操作。
app.launchURL()
在浏览器窗口中启动URL。
app.setInterval()
指定JavaScript脚本和时间段。 每次经过该时段时都会执行脚本。 此方法的返回值必须保存在JavaScript变量中。 否则,间隔对象将接受垃圾回收,这将导致时钟停止。 要终止定期执行,请将返回的间隔对象传递给clearInterval。
app.setTimeOut()
指定JavaScript脚本和时间段。 该脚本只执行一次,在句点过后。此方法的返回值必须保存在JavaScript变量中。 否则,超时对象将接受垃圾回收,这会导致时钟停止。 要取消超时事件,请将返回的超时对象传递给clearTimeOut。
app.clearInterval()
取消最初由setInterval方法设置的先前注册的间隔。
在HTML5表单中,API无法正常运行。
app.clearTimeOut()
取消以前注册的超时间隔。 此间隔最初由setTimeOut设置。
在HTML5表单中,API无法正常运行。
app.eval()
运行给定的脚本。
app.activeDocs
包含每个活动文档的Doc对象的数组。 如果没有处于活动状态的文档,activeDocs将不会返回任何内容;也就是说,它在核心JavaScript中具有与d = new Array(0)相同的行为。
返回HTMl5表单的空数组。
app.calculate
如果为true(默认值),则可执行计算。 如果为false,则不允许计算。
对于HTMl5 Forms,始终为True。
app.constants
用于保存各种常数值的包装对象。 目前,此属性返回一个对象,该对象具有单个属性align。
HTML5表单返回空对齐对象。
app.focusRect
打开和关闭焦点矩形。 焦点矩形是按钮、复选框、单选按钮和签名周围模糊的虚线,用于指示表单字段具有键盘焦点。 如果值为true,则焦点矩形将被打开。
对于HTML5表单,始终为True。
app.formsVersion
查看器表单软件的版本号。 如果要保持脚本中的向后兼容性,请选中此属性以确定较新版本软件中的对象、属性或方法是否可用。
一直都是11.001
app.language
正在运行的Acrobat查看器的语言。
对于HTMl5表单,始终为“简体中文”。

支持的XFA事件 supported-xfa-events

支持以下客户端端XFA事件:

  • 初始化
  • 验证
  • 计算
  • 单击
  • 输入
  • 退出
  • 更改
  • ValidationState
NOTE
HTML5表单在客户端(浏览器)呈现。 使用客户端​ 验证 ​和​ 计算 ​脚本,而不使用服务器端脚本。
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2