私の XPage では、xp:comboBoxにdojoType設定していdojox.form.CheckedMultiSelectます。それを使用して SSJS でその値を取得しようとすると、 がgetComponent("comboBox1").getValue()返されますnull。を削除するdojoTypeと、コードが機能します。
完全なコードは次のとおりです。
<?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>
上記のコードcomboBox1がdojoType設定されてdojox.form.CheckedMultiSelectいる間comboBox2、プレーンなコンボボックスです。ボタンをクリックすると、値がcomboBox2コンソールcomboBox1に出力されますが、null が出力されます。
なぜこれが起こるのですか?から値を取得するにはどうすればよいcomboBox1ですか?