我有全局上下文文档 currentDoc 并使用 currentDoc 的响应重复控制。
在重复控制中,我有 2 个字段:
1)组合框
2)编辑框,由组合框计算可见:
var temp = respDoc.getItemValueString( "Combobox1");
return temp == "a";
Onchange 事件 ComboBox 我更新重复控件。
我有按钮“添加响应”(创建/保存响应和更新重复控制)
它的工作。但是..如果我创建响应并保存它,计算可见的字段重置为“”并且不保存。如果我将文本重新输入到 Editbox 并重新保存,那么好的。仅在重新保存后有效。没有错误。可能你知道,什么问题?
源代码
<xp:this.data>
<xp:dominoDocument var="curDoc" formName="test"></xp:dominoDocument>
</xp:this.data>
<xp:repeat id="repeat1" rows="30" var="respDoc"
repeatControls="false"
indexVar="respDocIndex" value="#{javascript:return curDoc.getDocument().getResponses();}">
<xp:panel id="panel1">
<xp:table>
<xp:tr>
<xp:td style="width:150.0px">
<xp:comboBox id="comboBox1" style="width:95%"
value="#{respDoc.combobox}" required="false">
<xp:selectItem
itemLabel="Email" itemValue="a">
</xp:selectItem>
<xp:selectItem itemLabel="UserName"
itemValue="b">
</xp:selectItem>
<xp:eventHandler event="onchange"
submit="true" refreshMode="partial" refreshId="repeat1">
</xp:eventHandler>
</xp:comboBox>
</xp:td>
<xp:td>
<xp:inputText id="inputText2"
value="#{respDoc.editbox}" maxlength="20">
<xp:this.rendered><![CDATA[#{javascript://return true <---- if uncomment it, then all work
var temp = respDoc.getItemValueString( "combobox");
return temp == "b";}]]></xp:this.rendered>
</xp:inputText></xp:td>
<xp:td>
<xp:button value="Save" id="button4">
<xp:eventHandler event="onclick"
submit="true" refreshMode="partial" refreshId="repeat1">
<xp:this.action><![CDATA[#{javascript:respDoc.save();}]]></xp:this.action>
</xp:eventHandler></xp:button>
</xp:td>
</xp:tr>
</xp:table>
</xp:panel>
</xp:repeat>
<xp:button value="Add Response" id="button2">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="repeat1">
<xp:this.action><![CDATA[#{javascript:if(curDoc.isNewNote())
curDoc.save();
var doc:NotesDocument = database.createDocument();
doc.replaceItemValue("Form", "test");
doc.makeResponse(curDoc.getDocument());
doc.save();}]]></xp:this.action>
</xp:eventHandler>
</xp:button>