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

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
在熒幕上顯示對話方塊。 它僅適用於使用者端應用程式
型別為「是/否」的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
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座標。
註解
註解物件說明與表單設計物件關聯的描述性標籤。
驗證
驗證物件可控制表單上使用者所提供資料的驗證。 驗證物件可在表單的生命週期中多次啟動。
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

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

子表單 subform

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

提交 submit

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

tree

屬性
說明
例外
節點
傳回目前物件之所有子物件的清單。
  • 不支援xfa.nodes、desc
  • 針對PDF和HTML報告的節點數不同。
名稱
指定此節點的名稱。
HTML中不允許使用指令碼設定名稱。
父母
取得此節點的父系。
索引
傳回此節點在其類似名稱、範圍內、類似子系關係節點的集合中的位置。
somexpression
取得此節點的SOM運算式。
resolveNode
從目前的XML表單物件模型物件開始,評估指定的SOM運算式,並傳回SOM運算式中指定的物件值。
resolveNodes
從目前的XML表單物件模型物件開始,評估指定的SOM運算式,並傳回SOM運算式中指定的物件值。

子表單集 subformset

屬性
說明
例外
instanceManager
instanceManager物件可管理表單模型物件的建立、移除和移動。

content content

屬性
說明
例外
isNull
指出目前的資料值是否為null值。

資料值 datavalue

屬性
說明
例外
isNull
指出目前的資料值是否為null值。

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物件會包含表單物件的使用者介面說明。
註解
註解物件說明與表單設計物件關聯的描述性標籤。
是否存在
指定物件的可見性。
名稱
指定可用於在指令碼運算式中指定此物件或事件的識別碼。
不支援在執行階段設定值
value物件會包含單一資料內容單位。

轉角 corner

屬性
說明
例外
色彩
color屬性說明轉角物件的獨特顏色。
  • 無法擷取預設值。
  • 這些變更會反映在模型中,且可用於編寫指令碼,但不會同步至HTML元素。 因此,變更不會反映在UI中。

checkButton checkbutton

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

choiceList choicelist

屬性
說明
例外
邊框
border物件描述了choiceList物件周圍的邊框。

dateTimeEdit datetimeedit

屬性
說明
例外
邊框
border物件說明圍繞dateTimeEdit物件的邊框。

影像 image

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

imageEdit imageedit

屬性
說明
例外
邊框
border物件說明imageEdit物件周圍的邊框。

numericEdit numericedit

屬性
說明
例外
邊框
border物件描述物件周圍的邊框。

物件 object

屬性
說明
例外
類別名稱
決定此物件的類別名稱。

矩形 rectangle

屬性
說明
例外
edge
edge物件會描述圓弧、直線或邊框或矩形的一側。
不支援顏色、端點等屬性。

textEdit textedit

屬性
說明
例外
邊框
border物件描述物件周圍的邊框。

exclGroup exclgroup

屬性
說明
例外
配置
指定此物件要使用的版面配置策略。
邊框
指定此欄位周圍的邊框。
強制
指定欄位的nullTest值。
borderColor
指定此欄位的邊框色彩值。您必須先定義邊框,才能透過指令碼變更顏色。
borderWidth
指定此欄位的邊框寬度。
h
版面高度測量。
暫時性
指定處理應用程式是否必須將排除群組的值儲存為表單提交或儲存作業的一部分。
指定版面寬度的測量值。
x
指定以定位版面配置放置時,容器錨點相對於父容器左上角的x座標。
y
指定以定位版面配置放置時,容器錨點相對於父容器左上角的y座標。
註解
註解物件說明與表單設計物件關聯的描述性標籤。
驗證
驗證物件可控制表單上使用者所提供資料的驗證。 驗證物件可在表單的生命週期中多次啟動。
dataNode
取得合併後表單節點繫結的資料節點。
是否存在
指定物件的可見性。
存取
控制使用者對容器物件(如子表單)內容的存取權。
對於排除中的個別專案,一律會傳回open。
名稱
指定可用於在指令碼運算式中指定此物件或事件的識別碼。
成員
指定排除群組的成員。
selectedMember
傳回排除群組的選取成員。
execCalculate
對指定物件的計算事件以及任何子物件執行任何指令碼。
計算
計算物件控制欄位值的計算。

圓弧 arc

屬性
說明
例外
edge
edge物件會描述圓弧、直線或邊框或矩形的一側。
不支援顏色、端點等屬性。

邊框 border

屬性
說明
例外
edge
edge物件會描述圓弧、直線或邊框或矩形的一側。
不支援顏色、端點等屬性。

$layout layout

屬性
說明
例外
h
決定給定表單設計物件的高度。
  • 頁面區域和內容區域不支援Height (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

屬性
說明
例外
是否存在
指定物件的可見性。

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
針對每個
每個i (1, 2, 3)
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. 四月()
    2. Term()
    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. Date()
    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中的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