我正在尝试使用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>
我怎样才能做到这一点?
答案 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事件无法执行。