HTML5表單的指令碼支援

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

$event

屬性 說明
例外
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表單不允許設定對象的名稱屬性。 這是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 第一個所選項的索引。

表單

屬性 說明 例外
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 設定指定屬性的值。

模型

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

子表單

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

dataValue

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

邊緣

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

填充

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

線性

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

折線圖

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

圖樣

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

徑向

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

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

繪圖

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

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

checkButton

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

choiceList

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

dateTimeEdit

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

影像

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

imageEdit

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

numericEdit

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

物件

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

矩形

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

textEdit

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

exclGroup

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

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

邊框

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

$配置

屬性 說明 例外
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方法會傳回錯誤值。

項目

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

FormCalc

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

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運算式
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 + iendfor
函式聲明 在FormCalc中定義自定義函式 func foo(n)do var f = nendfunc

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. 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事件

支援下列用戶端XFA事件:

  • 初始化
  • 驗證
  • 計算
  • 按一下
  • 輸入
  • 結束
  • 變更
  • ValidationState
注意

HTML5表單會在用戶端(瀏覽器)上轉譯。 建議使用用戶端​validate​和​calculate​指令碼,而非伺服器端指令碼。

本頁內容