2014-03-24 37 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

有了这个额外的客户端属性你不会再得到黄色感叹号错误。