2014-03-24 38 views
1

我試圖在xpage上的dojo filteringselect控件(「From_Name」)的服務器onChange事件上的編輯框(「房間」)上進行部分更新。 所以,我用與計算值的簡單修改字段動作:xpages dojo過濾器選擇部分更新on更改

nm = getComponent("From_Name").value; 
@DbLookup("names.nsf", "Full Name", nm, 10); 

onChange事件也做了部分更新了「房間」元素。

問題是在窗體上有幾個過濾選擇控件,當我嘗試執行部分更新來查找地址簿以獲取人的房間號時,它會給我一個黃色的感嘆號對xpage上的其他過濾選擇點錯誤。如果首先填寫頁面上的所有其他過濾選擇控件,則部分更新將起作用。如何在From_Name更改時解決此問題並更新Room字段?

我的控件的代碼:

<xe:djFilteringSelect id="From_Name" value="#{document1.From_Name}" 
    readOnly="# {javascript:!document1.isNewNote()}"> 
    <xe:this.defaultValue><![CDATA[#{javascript: 
     @Name("[CN]", @UserName())}]]> 
    </xe:this.defaultValue> 
    <xp:selectItems> 
     <xp:this.value><![CDATA[#{javascript: 
      db = new Array("SERVER", "names.nsf"); 
      @Unique(@DbColumn(db, "Full Name", 1)) 
     }]]></xp:this.value> 
    </xp:selectItems> 
    <xp:eventHandler event="onChange" submit="true" 
     refreshMode="partial" refreshId="Room"> 
     <xe:this.action> 
      <xp:modifyField name="Room"> 
       <xp:this.value><![CDATA[#{javascript: 
        nm = getComponent("From_Name").value; 
        @DbLookup("names.nsf", "Full Name", nm, 10); 
       }]]></xp:this.value> 
      </xp:modifyField> 
     </xe:this.action> 
    </xp:eventHandler> 
</xe:djFilteringSelect> 

回答

2

添加一個Dojo屬性required與價值false其他djFilteringSelect控制:

<xe:this.dojoAttributes> 
    <xp:dojoAttribute 
     name="required" 
     value="false"> 
    </xp:dojoAttribute> 
    </xe:this.dojoAttributes> 

enter image description here

有了這個額外的客戶端屬性你不會再得到黃色感嘆號錯誤。