HTML5表单的脚本支持

HTML5表单中支持的JavaScript、FormCalc属性和方法如下:

$事件

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

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

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

不支持通过脚本设置值。

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

newText属性在以下情况下无法正常工作:

  • 论文本的选择与替换
  • 在删除、复制和粘贴文本时。
  • 在“数字”字段
    中键入某些特殊字符键(例如$、(、)、&、@等)
  • 使用shift+字母数字组合。
  • 使用日期/时间字段时。
不支持通过脚本设置值。
更改 指定用户在执行操作后立即键入或粘贴到字段中的值。

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

  • 论文本的选择与替换
  • 在删除、复制和粘贴文本时。
  • 在“数字”字段
    中键入某些特殊字符键(例如$、(、)、&、@等)
  • 使用shift+字母数字组合。
  • 使用日期/时间字段时。

不支持通过脚本设置值。

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

$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 在屏幕上显示对话框。 它仅对客户端应用程序可用 “是/否”类型的消息框将转换为“确定/取消”。 不支持包含三个按钮的消息框。
currentPage

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

页面值基于0,因此文档的第一页返回值0。

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

字段

属性 描述
例外
presence 控制关联对象在不同处理阶段的参与情况。 如果对象是容器,则容器的内容将继承此控件应用的任何限制。
access 控制用户对内容的访问。 不适用于排除组。 此外,HTML5表单对非交互式和受保护的对象给予相同的处理。
name 用于在脚本表达式中标识此元素的标识符。 HTML5表单不允许设置对象的name属性。 它是HTML5表单的只读属性。
value 包含单个数据内容的内容元素。
rawValue 指定此字段的未格式化值。
formattedValue 指定此字段的格式化值。 不支持通过脚本设置formattedValue
editValue 指定此字段的编辑值。 不支持设置editValue 通过脚本。
formatMessage 指定此字段的格式验证消息字符串。 不支持设置formatMessage 通过脚本。
fillcolor 指定此字段的背景颜色值。 您需要将border.fill.presence属性设置为单独可见。 它无法正确返回字段的默认颜色。
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坐标。
caption 题注对象描述与表单设计对象关联的描述性标签。
验证 验证对象控制表单上用户提供的数据的验证。 在表单生命周期中,验证对象可以多次激活。
parentSubform 指定此字段的父子表单(页)。 始终返回父子表单,而不是返回第一个非作用域父子表单。
selectedIndex 第一个选定项的索引。

表单

属性 描述 例外
formNodes 返回绑定到指定列表对象的所有表单模型对象的。

InstanceManager

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

列表

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

节点

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

型号

属性 描述 例外
NA NA NA

子表单

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

提交

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

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

subformset

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

content

属性 描述 例外
isNull 指示当前数据值是否为null值。

dataValue

属性 描述 例外
isNull 指示当前数据值是否为null值。

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

填充

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

线性

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

折线图

属性 描述 例外
边缘 边对象描述边框或矩形的弧、线或一侧。
不支持颜色、端点等属性。

模式

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

径向

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

stipple

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

draw

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

corner

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

checkButton

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

choiceList

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

dateTimeEdit

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

图像

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

imageEdit

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

numericEdit

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

对象

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

矩形

属性 描述 例外
边缘 边对象描述边框或矩形的弧、线或一侧。
不支持颜色、端点等属性。

textEdit

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

exclGroup

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

属性 描述 例外
边缘 边对象描述边框或矩形的弧、线或一侧。
不支持颜色、端点等属性。

边框

属性 描述 例外
边缘 边对象描述边框或矩形的弧、线或一侧。
不支持颜色、端点等属性。

$布局

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

项目

属性 描述 例外
存在 指定对象的可见性。

FormCalc

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

FormCalc支持的函数

FormCalc表达式支持

类别 描述 示例
简单表达式 加、减、乘、除和括号 (a+b)*3
变量声明 定义变量 var 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
w
while(ilt 5)do i = i + 1 endwhile
对象
对于i = 100,至1
do s = s + iendfor

对于(1, 2, 3)中的每个i
, do s = s + iendfor
函数声明 在FormCalc中定义自定义函数 func foo(n)do var f = n endfunc

Acrobat API支持

  1. 算术函数

    1. Abs()
    2. Avg()
    3. Ceil()
    4. 计数()
    5. Floor()
    6. 最大()
    7. 最小()
    8. Mod()
    9. Round()
    10. 总计()
  2. 科学功能

    1. Acos()
    2. Asin()
    3. Atan()
    4. Atan2()
    5. Cos()
    6. Sin()
    7. 谭()
    8. Exp()
    9. 日志()
    10. Pow()
    11. Sqrt()
    12. Deg2Rad()
    13. Rad2Deg()
    14. Pi()
  3. 财务职能

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

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

    1. 于()
    2. Concat()
    3. 左()
    4. Len()
    5. Lower()
    6. Ltrim()
    7. 替换()
    8. 右()
    9. Rtrim()
    10. 空间()
    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() 向用户显示一个模态对话框。 Modal对话框必须由用户关闭,然后才能直接再次使用主机应用程序。 未执行任何操作。
app.launchURL() 在浏览器窗口中启动URL。
app.setInterval() 指定JavaScript脚本和时段。 每次经过该时段时,都会执行该脚本。 此方法的返回值必须保留在JavaScript变量中。 否则,间隔对象会被垃圾回收,这会导致时钟停止。 要终止定期执行,请将返回的interval对象传递给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表单,始终为“ENU”。

支持的XFA事件

支持以下客户端XFA事件:

  • 初始化
  • 验证
  • 计算
  • 单击
  • Enter
  • 退出
  • 更改
  • ValidationState
注意

HTML5表单在客户端(浏览器)上呈现。 建议使用客户端​validate​和​calculate​脚本,而不是服务器端脚本。

On this page