2012-10-22 39 views
0

我正在開發一個帶有JavaScript的LiveCycle LC設計器的Adobe交互式表單。我如何知道它在JS中的有效性?

//確定所需的字段(它可能是一個自由文本字段,下拉菜單,複選框,我的意思是有3種possibilties),使黃色色的他們

var myArrayYellow = new Array(); 
var yellowFields; 
yellowFields = my_required_fields_list_string.rawValue 
myArrayYellow = yellowFields.split(" "); 
for (var i = 0; i < myArrayYellow.length; i++)  { 

===>這裏在這一點上,我想檢查[i]字段的存在形式,它是一個有效的字段/ objetc或不? bcz,我有機會獲得my_required_fields_list_string中不存在的字段,因此在爲他們分配黃色之前,我想檢查它們在表單上的有效性與否?請注意。讓我知道了JS這個 //如果其真正的/發現,則只能分配黃色如下

xfa.resolveNode("MY_ADOBE_FORM.." + myArrayYellow  [i]).ui.oneOfChild.border.fill.color.value = "255,255,254" 
}; 

對於一些其他的目的,一些專家給了我一個JS下面,我試圖調整它的按我上面的要求,但其沒有工作

function findNodes(vNode){ 
    if (vNode.className === "field"){ 
     if (vNode.isPropertySpecified("name") === true){ 
      var myStateName = new RegExp(vNode.name); 
      var returnValue = GFL.search(myStateName); 
      if (returnValue != -1) { 
       this.ui.oneOfChild.border.fill.color.value = "192,192,192"; 
       this.access = "readOnly"; 
      } else { 
       this.ui.oneOfChild.border.fill.color.value = "255,255,255"; //whatever colour is open access 
       this.access = "open"; 
      } 
     } 
    } 
    for (var a=0;a<vNode.nodes.length;a++) { 
     findNodes(vNode.nodes.item(a)); 
    } 
} 
findNodes(xfa.form); 

回答

0

如果我理解你的問題,你需要檢查是否xfa.resolveNode回報的東西,並從那裏處理。

var node; 
if ((node=xfa.resolveNode("MY_ADOBE_FORM.." + myArrayYellow[i]))!==null){ 
    node.ui.oneOfChild.border.fill.color.value = "255,255,254" 
} 
0

如果我理解正確的話,你想檢查陣列中所有你的價值觀是對他們的預成形操作之前有效。請檢查並確保它們不爲空。

編輯:你也許應該檢查空字符串以及。

for (var i = 0; i < myArrayYellow.length; i++)  { 
    if (!(myArrayYellow[i] == null || myArrayYellow[i] == "")){ 
     //Do Stuff 
    } 
} 
相關問題