更改后端中复选框的状态

时间:2015-06-18 12:37:08

标签: xpages xpages-ssjs

在ssjs中,我尝试更改复选框的状态。 我试过了:

doc.replaceItemValue( 'picWeb', "true" );

似乎没有任何改变(复选框不会更改为已检查)

我也尝试过:

doc.replaceItemValue( 'picWeb', true );

会抛出错误

[TypeError]异常调用方法NotesDocument.replaceItemValue(string, boolean) null)

如果我理解得很好:你不能用replaceItemValue更改复选框(布尔值),但是如何更改呢? 是否可以使用ssjs或java或...

1 个答案:

答案 0 :(得分:1)

在复选框中定义哪个字符串与选中的值相关,以及使用属性checkedValueuncheckedValue取消选中的值:

enter image description here

    <xp:checkBox 
        ... 
        uncheckedValue="false" 
        checkedValue="true">
    </xp:checkBox>

您可以使用

设置值
document1.replaceItemValue("picWeb", "true") 

这是一个完整的示例,演示如何在SSJS中设置复选框值:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:this.data>
        <xp:dominoDocument var="document1" formName="Test" />
    </xp:this.data>
    <xp:checkBox text="picWeb" id="checkBox1" 
        value="#{document1.picWeb}" 
        uncheckedValue="false" 
        checkedValue="true">
    </xp:checkBox>
    <xp:button value="True" id="button2">
        <xp:eventHandler event="onclick" submit="false" 
            refreshMode="partial" refreshId="checkBox1">
            <xp:this.action><![CDATA[#{javascript:
                document1.replaceItemValue("picWeb", "true")
            }]]></xp:this.action>
        </xp:eventHandler>
    </xp:button>
    <xp:button value="False" id="button3">
        <xp:eventHandler event="onclick" submit="false" 
            refreshMode="partial" refreshId="checkBox1">
            <xp:this.action><![CDATA[#{javascript:
                document1.replaceItemValue("picWeb", "false")
            }]]></xp:this.action>
        </xp:eventHandler>
    </xp:button>
    <xp:button value="Submit" id="button1">
        <xp:eventHandler event="onclick" submit="true" 
            refreshMode="complete" immediate="false" save="true">
        </xp:eventHandler>
    </xp:button>
</xp:view>

该值在文档中设置为字符串

enter image description here