支援HTML5表單的指令碼 scripting-support-for-html-forms

CAUTION
AEM 6.4已結束延伸支援,本檔案不再更新。 如需詳細資訊,請參閱 技術支援期. 尋找支援的版本 此處.

HTML5表單支援的JavaScript、FormCalc屬性和方法如下:

$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
在螢幕上顯示對話框。 它僅適用於客戶端應用程式
「是/否」類型的消息框將轉換為「確定/取消」。 不支援包含三個按鈕的消息框。
currentPage

在運行時設定文檔的當前活動頁。

頁面值基於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
邊框對象描述了對象周圍的邊框。
ui
ui對象封裝了表單對象的用戶介面說明。
mandatory
指定欄位的nullTest值。
borderColor
指定此欄位的邊框顏色值。 您必須將border.edge.presence屬性設為個別顯示。
無法正確傳回欄位的預設邊框顏色。
length
清單中的項目數。
addItem
將新項目新增至目前欄位。
clearItem
從欄位中移除所有項目。
boundItem
獲取下拉清單或清單框的特定顯示項的綁定值。
execCalculate
執行欄位的計算指令碼。
execValidate
執行欄位的驗證指令碼。
execEvent
執行物件的事件指令碼。
getItemState
返回指定項的選擇狀態
setItemState
設定指定項的選擇狀態。
getDisplayItem
檢索指定項索引的項顯示文本。
getSaveItem
檢索指定項索引的資料值。
deleteItem
刪除指定索引處的項。
setItems
在當前欄位中設定指定的項。 它會取代預先存在的項目。
h
版面高度的測量。
指定佈局寬度的測量。
x
使用定位佈局放置時,指定容器的錨點相對於父容器左上角的x坐標。
y
使用定位佈局放置時,指定容器的錨點相對於父容器左上角的y坐標。
caption
標題對象描述與表單設計對象關聯的描述性標籤。
驗證
驗證物件可控制表單上使用者提供資料的驗證。 驗證物件可在表單生命週期中啟動多次。
parentSubform
指定此欄位的父子表單(頁面)。
一律會傳回父子表單,而非傳回第一個非範圍的父子表單。
selectedIndex
第一個所選項的索引。

表單 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
指示當前資料值是否為空值。
resolveNode
從當前XML表單對象模型對象開始計算指定的SOM表達式,並返回在SOM表達式中指定的對象的值。
resolveNodes
從當前XML表單對象模型對象開始計算指定的SOM表達式,並返回在SOM表達式中指定的對象的值。
oneOfChild
根據有效的類名建立新節點。
getElement
返回指定的子對象。
getAttribute
獲取指定的屬性值。
setAttribute
設定指定屬性的值。

模型 model

屬性
說明
例外
不適用
不適用
不適用

子表單 subform

屬性
說明
例外
instanceIndex
指定對象的索引,相對於其他實例化實例。
execEvent
執行物件的事件指令碼。
getInvalidObjects
傳回子表單(含)中,未通過驗證測試的節點清單。
邊框
邊框對象描述了對象周圍的邊框。
borderColor
指定此欄位的邊框顏色值。 您必須將border.edge.presence屬性設為個別顯示。
h
版面高度的測量。
指定佈局寬度的測量。
x
使用定位佈局放置時,指定容器的錨點相對於父容器左上角的x坐標。
y
使用定位佈局放置時,指定容器的錨點相對於父容器左上角的y坐標。
驗證
驗證物件可控制表單上使用者提供資料的驗證。 驗證物件可在表單生命週期中啟動多次。
名稱
用於在指令碼運算式中識別此元素的識別碼。
存在
指定對象的可見性。
存取
控制對容器對象(如子表單)內容的用戶訪問。
execValidate
根據子表單或子表單集相對於相同表單對象的其他實例的位置來計算其索引。
instanceManager
instanceManager對象管理表單模型對象的實例建立、刪除和移動。

提交 submit

屬性
說明
目標
提交資料的URL。 遺漏此屬性表示XFA處理應用程式使用產品特定技術(如存取設定物件中的產品特定資訊)來取得URI。

tree

屬性
說明
例外
節點
返回當前對象的所有子對象的清單。
  • xfa.nodes、desc不支援
  • 報告的PDF和HTML節點數不同。
名稱
指定此節點的名稱。
HTML中不允許使用指令碼設定名稱。
parent
獲取此節點的父節點。
索引
返回此節點在其類名、範圍內、類子關係節點集合中的位置。
somExpression
獲取此節點的SOM表達式。
resolveNode
從當前XML表單對象模型對象開始計算指定的SOM表達式,並返回在SOM表達式中指定的對象的值。
resolveNodes
從當前XML表單對象模型對象開始計算指定的SOM表達式,並返回在SOM表達式中指定的對象的值。

subformset subformset

屬性
說明
例外
instanceManager
instanceManager對象管理表單模型對象的實例建立、刪除和移動。

content content

屬性
說明
例外
isNull
指示當前資料值是否為空值。

dataValue datavalue

屬性
說明
例外
isNull
指示當前資料值是否為空值。

邊緣 edge

屬性
說明
例外
色彩
color屬性描述了陣列對象的唯一顏色。
  • 無法擷取預設值。
  • 變更會反映在模型中,且可供指令碼使用,但不會同步至HTML元素。 因此,UI不會反映這些變更。

填充 fill

屬性
說明
例外
色彩
顏色屬性定義填充的唯一顏色。
  • 無法擷取預設值。
  • 變更會反映在模型中,且可供指令碼使用,但不會同步至HTML元素。 因此,UI不會反映這些變更。

線性 linear

屬性
說明
例外
色彩
顏色屬性描述表單上線性漸變填充的唯一顏色。
  • 無法擷取預設值。
  • 變更會反映在模型中,且可供指令碼使用,但不會同步至HTML元素。 因此,UI不會反映這些變更。

折線圖 line

屬性
說明
例外
邊緣
邊對象描述弧、線或邊框或矩形的一側。
不支援顏色、大寫等屬性。

圖樣 pattern

屬性
說明
例外
色彩
color屬性描述了陣列對象的唯一顏色。
  • 無法擷取預設值。
  • 變更會反映在模型中,且可供指令碼使用,但不會同步至HTML元素。 因此,UI不會反映這些變更。

徑向 radial

屬性
說明
例外
色彩
顏色屬性描述徑向對象的唯一顏色
  • 無法擷取預設值。
  • 變更會反映在模型中,且可供指令碼使用,但不會同步至HTML元素。 因此,UI不會反映這些變更。

stipple

屬性
說明
例外
色彩
color屬性描述拼接對象的唯一顏色。
  • 無法擷取預設值。
  • 變更會反映在模型中,且可供指令碼使用,但不會同步至HTML元素。 因此,UI不會反映這些變更。

繪圖 draw

屬性
說明
例外
ui
ui對象封裝了表單對象的用戶介面說明。
caption
標題對象描述與表單設計對象關聯的描述性標籤。
存在
指定對象的可見性。
名稱
指定可用於在指令碼表達式中指定此對象或事件的標識符。
不支援在執行階段設定值
值對象封裝了單個資料內容單位。

corner

屬性
說明
例外
色彩
color屬性描述了拐角對象的唯一顏色。
  • 無法擷取預設值。
  • 變更會反映在模型中,且可供指令碼使用,但不會同步至HTML元素。 因此,UI不會反映這些變更。

checkButton checkbutton

屬性
說明
例外
邊框
邊框對象描述了checkButton對象周圍的邊框。
變更會反映在模型中,且可供指令碼使用,但不會同步至HTML元素。 因此,UI不會反映這些變更。

choiceList choicelist

屬性
說明
例外
邊框
邊框對象描述了choiceList對象周圍的邊框。

dateTimeEdit datetimeedit

屬性
說明
例外
邊框
邊框物件說明了dateTimeEdit物件周圍的邊框。

影像 image

屬性
說明
例外
contentType
指定引用文檔中的內容類型,以MIME類型表示。
名稱
用於在指令碼運算式中識別此元素的識別碼。

imageEdit imageedit

屬性
說明
例外
邊框
邊框對象描述了imageEdit對象周圍的邊框。

numericEdit numericedit

屬性
說明
例外
邊框
邊框對象描述了對象周圍的邊框。

物件 object

屬性
說明
例外
className
確定此對象的類的名稱。

矩形 rectangle

屬性
說明
例外
邊緣
邊對象描述弧、線或邊框或矩形的一側。
不支援顏色、大寫等屬性。

textEdit textedit

屬性
說明
例外
邊框
邊框對象描述了對象周圍的邊框。

exclGroup exclgroup

屬性
說明
例外
配置
指定此對象要使用的佈局策略。
邊框
指定此欄位周圍的邊框。
強制
指定欄位的nullTest值。
borderColor
指定此欄位的邊框顏色值。必須先定義邊框,然後才能通過指令碼更改顏色。
borderWidth
指定此欄位的邊框寬度。
h
版面高度的測量。
瞬態
指定處理應用程式是否必須將排除群組的值儲存為表單提交或儲存操作的一部分。
指定佈局寬度的測量。
x
使用定位佈局放置時,指定容器的錨點相對於父容器左上角的x坐標。
y
使用定位佈局放置時,指定容器的錨點相對於父容器左上角的y坐標。
caption
標題對象描述與表單設計對象關聯的描述性標籤。
驗證
驗證物件可控制表單上使用者提供資料的驗證。 驗證物件可在表單生命週期中啟動多次。
dataNode
獲取合併後表單節點綁定到的資料節點。
存在
指定對象的可見性。
存取
控制對容器對象(如子表單)內容的用戶訪問。
對於exclgrp中的個別項目,它一律會傳回open。
名稱
指定可用於在指令碼表達式中指定此對象或事件的標識符。
成員
指定排除群組的成員。
selectedMember
返回排除組的選定成員。
execCalculate
對指定對象的計算事件和任何子對象執行任何指令碼。
計算
計算對象控制欄位值的計算。

arc

屬性
說明
例外
邊緣
邊對象描述弧、線或邊框或矩形的一側。
不支援顏色、大寫等屬性。

邊框 border

屬性
說明
例外
邊緣
邊對象描述弧、線或邊框或矩形的一側。
不支援顏色、大寫等屬性。

$配置 layout

屬性
說明
例外
h
確定給定表單設計對象的高度。
  • 頁面區域和內容區域不支援高度(h)屬性。
  • 不支援「發生XFA-Form物件時從第一個內容區域偏移」參數。
確定指定的表單設計對象的寬度。
  • 頁面區域和內容區域不支援寬度(w)屬性。
  • 不支援「發生XFA-Form物件時從第一個內容區域偏移」參數。
x
確定指定表單設計對象相對於其父對象的x坐標。
  • 頁面區域和內容區域不支援x座標(x)屬性。
  • 不支援「發生XFA-Form物件時從第一個內容區域偏移」參數。
y
確定給定表單設計對象相對於其父對象的y坐標。
  • 頁面區域和內容區域不支援y座標(y)屬性。
  • 不支援「發生XFA-Form物件時從第一個內容區域偏移」參數。
pagecount
決定目前表單的頁數。
  • layout.pageCount()方法針對PDF和HTML表單傳回不同值。
  • 透過隱藏物件來降低頁面計數時,abspagecount方法會傳回錯誤值。
pagecontent
從表單的指定頁面中檢索表單設計對象的類型。
absPageCount
決定目前表單的頁數。
  • layout.pageCount()方法針對PDF和HTML表單傳回不同值。
  • 透過隱藏物件來降低頁面計數時,abspagecount方法會傳回錯誤值。

項目 items

屬性
說明
例外
存在
指定對象的可見性。

FormCalc formcalc

FormCalc是XFA專用的語言,用於建立電子錶單中心邏輯和計算根。 FormCalculation提供了一組功能強大的生成函式。

支援的FormCalc函式 formcalc-supported-functions

表單計算表達式支援 formcalc-expression-support

類別
說明
範例
簡單運算式
加、減、乘、除和括弧
(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運算式
if(a>b)然後2 endif
whel
而(ilt 5)do i = i + 1結束時
代表
若為i = 100,則從1
do s = s + i結束
(1、2、3)中每個i
do s = s + i結束
函式聲明
在FormCalc中定義自定義函式
func foo(n)do var f = nendfunc

Acrobat API支援 acrobat-api-support

  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. 4月()
    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()
對使用者顯示強制回應對話方塊。 使用者必須先關閉強制回應對話方塊,才能直接使用主機應用程式。
未執行任何操作。
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將不返回任何內容;也就是說,其行為與d =核心JavaScript中的新陣列(0)相同。
返回HTMl5表單的空陣列。
app.calculate
如果為true(預設值),則可執行計算。 如果為false,則不允許計算。
HTMl5Forms一律為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
a6ebf046-2b8b-4543-bd46-42a0d77792da