내 XPage에서 xp:comboBox
을 dojoType
으로 설정하고 dojox.form.CheckedMultiSelect
으로 설정했습니다. getComponent("comboBox1").getValue()
을 사용하여 SSJS에서 값을 얻으려고하면 null
을 반환합니다. dojoType
을 제거하면 코드가 작동합니다.XPages에서 dojox.form.CheckedMultiSelect를 사용할 때 값을 얻을 수 없습니다.
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.resources>
<xp:dojoModule name="dojox.form.CheckedMultiSelect"></xp:dojoModule>
<xp:styleSheet href="/.ibmxspres/dojoroot/dojox/form/resources/CheckedMultiSelect.css"></xp:styleSheet>
</xp:this.resources>
<xp:comboBox id="comboBox1" dojoType="dojox.form.CheckedMultiSelect">
<xp:selectItem itemLabel="Untitled 1"></xp:selectItem>
<xp:selectItem itemLabel="Untitled 2"></xp:selectItem>
<xp:selectItem itemLabel="Untitled 3"></xp:selectItem>
</xp:comboBox>
<xp:comboBox id="comboBox2">
<xp:selectItem itemLabel="Untitled 1"></xp:selectItem>
<xp:selectItem itemLabel="Untitled 2"></xp:selectItem>
<xp:selectItem itemLabel="Untitled 3"></xp:selectItem>
</xp:comboBox>
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:print("============ " + getComponent("comboBox1").getValue());
print("============ " + getComponent("comboBox2").getValue());}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
</xp:view>
I comboBox2
일반 콤보 상자 인 반면 위의 코드 comboBox1
가 dojox.form.CheckedMultiSelect
-dojoType
세트가 있습니다 :
여기에 전체 코드입니다. 버튼을 클릭하면 콘솔에 출력되고 comboBox1
은 null을 출력합니다.
왜 이런 일이 발생합니까? comboBox1
에서 값을 얻으려면 어떻게해야합니까?
나는 (내 예와 같이) 이미 대답 자신 :) 한 개선을 발견주의 ** 설정 **와 ** ** 당신의 "helperField"의 값을 받고있을 수 있습니다 나는 아래의 예를 붙여 버튼의 submitEvent에. 사용자가 아무런 라디오 버튼을 클릭하지 않고 defaultValue가 설정되어 있지 않으면 onClick 이벤트가 발생하지 않으므로 "helperField"에서 아무 데이터도 설정되지 않습니다. – Dalie