使用ssjs读取本机多选字段

时间:2014-03-05 06:56:54

标签: xpages lotus-notes xpages-ssjs

我在readmode中有一个文档,我需要一个多选字段(可编辑)。所以我创建了这样的东西

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

    <select multiple="multiple" name="myField" id="myField" size="3">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>

    <xp:button value="Test" id="button1">
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="complete">
            <xp:this.action><![CDATA[#{javascript:print(param.get("myField"));}]]></xp:this.action>
        </xp:eventHandler>
    </xp:button>

</xp:view>

当我按下按钮时,我只选择了一个值,当我只选择一个条目时,如果我选择了多个,我只得到了null。有没有从原生html字段中获取多个值的技巧?

2 个答案:

答案 0 :(得分:4)

使用XPages多选,但将其绑定到视图范围变量。然后,您可以轻松访问该值。

 <xp:checkBoxGroup id="checkBoxGroup1"
    value="#{viewScope.someOptions}">
    <xp:selectItem itemLabel="One" itemValue="1"></xp:selectItem>
    <xp:selectItem itemLabel="Two" itemValue="2"></xp:selectItem>
    <xp:selectItem itemLabel="Three" itemValue="3"></xp:selectItem>
</xp:checkBoxGroup>

那应该为你做的伎俩。然后,只需访问viewScope.someOptions即可获得一系列值。让我们知道它是怎么回事

答案 1 :(得分:2)

所选值包含在HTTP请求的POST数据中。您可以通过 ExternalContext RequestParameterMap 访问该值。

这是一个EL语句,可以解决这个问题:

<xp:label id="label1" value="#{facesContext.externalContext.requestParameterMap.myField}" />