私の 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
ですか?