使用PostNewDocument事件的Xpages

时间:2014-09-09 04:57:28

标签: xpages xpages-ssjs

我正在尝试使用xpage的PostNewDocument事件向editBox添加值,考虑到我希望字段在打开时具有相应的值 - 使用特定按钮。

我尝试了两种方法:

<使用简单操作:

    <xp:dominoDocument var="Contr" formName="(fmFormularCIP)">
                <xp:this.postNewDocument>
                    <xp:setValue
                        binding="#{javascript:Contr.txt_codformularmain}">
                        <xp:this.value><![CDATA[#{javascript:"01"}]]></xp:this.value>
                    </xp:setValue>
                </xp:this.postNewDocument>
   </xp:dominoDocument>

(我得到:Unable to execute the set value simple action because not allowed to set the value of a read only computed expression.

&LT;使用脚本编辑器(服务器端)

<xp:dominoDocument var="Contr" formName="(fmFormularCIP)">
    <xp:this.postNewDocument><![CDATA[#{javascript:Contr.replaceItemValue("txt_codformularmain","01")}]]>
    </xp:this.postNewDocument>
</xp:dominoDocument>

(但仍然是字段“”)

我的事件处理程序来自打开xpage的按钮:

    <xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="true">
           <xp:this.action> <xp:openPage name="/doc.xsp" target="newDocument"></xp:openPage> 
           </xp:this.action> 
    </xp:eventHandler>

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

这是XPage的一个工作示例,它将值设置为postNewDocument事件中的编辑字段。打开Xpage后,该值在编辑字段中可见。

<?xml version="1.0" encoding="UTF-8"?>
<xp:view
    xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:this.data>
        <xp:dominoDocument
            var="Contr"
            formName="(fmFormularCIP)">
            <xp:this.postNewDocument><![CDATA[#{javascript:
                Contr.replaceItemValue("txt_codformularmain","01")}]]>
            </xp:this.postNewDocument>
        </xp:dominoDocument>
    </xp:this.data>
    <xp:inputText
        id="inputText1"
        value="#{Contr.txt_codformularmain}">
    </xp:inputText>
</xp:view>

如果url具有param.codvalue等codvalue参数,或者来自范围变量,则可以使用...&codvalue=01 url 设置值本身{1}}。

请务必将此XPage 称为,不带 url参数sessionScope.codvalue?action=openDocument,因为postNewDocument事件无法执行。