2013-03-28 101 views
1

我有一個Acrobat PDF,一位同事希望將一些表單驗證添加到Acrobat在不使用JavaScript的情況下爲您提供的簡單選項。從我所知道的,JavaScript將被要求做到這一點。我認爲行爲應該能夠通過在單選按鈕組的屬性 - >動作中找到的「添加一個Action-> MouseDown->運行一個Javascript」選項來完成。如何在Acrobat中動態設置字段的「所需」狀態?

基本上我有一組單選按鈕和3個按鈕。如果buttonA被按下,我希望fieldA是必需的。如果buttonB被按下,我希望fieldB是必需的。 buttonC/fieldC也一樣。

我知道我的僞代碼將看起來像,但我無法將其轉化爲JavaScript的

onSelectionChanged(selection) { 
    fieldA.required = false; 
    fieldB.required = false; 
    fieldC.required = false; 

    if (selection == 'A') { fieldA.required = true; } 
    if (selection == 'B') { fieldB.required = true; } 
    if (selection == 'C') { fieldC.required = true; } 
} 

任何人都可以點我在正確的方向?先謝謝你。

回答

0

做了一些更多的挖掘,這裏是最終的解決方案(放置在單選按鈕組的「MouseUp->運行JavaScript」:

var f = this.getField("ServiceType"); 

var ins = this.getField("InstallationDateTime"); 
var rem = this.getField("RemovalDateTime"); 
var ser = this.getField("ServiceRequestDateTime"); 

console.println(f.value); 

ins.required = false; 
rem.required = false; 
ser.required = false; 

if (f.value === "Install") { 
    ins.required = true;  
} 
if (f.value === "Removal") { 
    rem.required = true;  
} 
if (f.value === "Service") { 
    ser.required = true;  
} 

很容易全面考慮,尋找following真的不錯的調試:

f = this.getField("myField"); 

for (var i in f) { 
    try { 
     if (typeof f[i] != "function") { // Do not list field methods 
      console.println(i + ":" + f[i]) 
     } 
    } catch(e) { 
    }   // An exception occurs when we get a property that does not apply to this field type. 
}  
相關問題