基于Tim Tripcony的建议,我已经实现了一个简单的xpage下面,允许我扩展no。当用户点击“添加更多”按钮时显示的字段。当“添加更多”按钮进行局部刷新并扩展“否”时,我遇到了不记得数据的局部刷新问题。的行。XPages更多的领域在点击按钮问题部分刷新
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoForm="true">
<xp:this.data>
<xp:dominoDocument var="newDoc" formName="frmAddMore"></xp:dominoDocument>
</xp:this.data>
<xp:this.afterPageLoad><![CDATA[#{javascript:viewScope.rowCount = new java.lang.Integer(5);}]]></xp:this.afterPageLoad>
<xp:div id="parentDiv">
<xp:repeat indexVar="fieldSuffix" value="#{viewScope.rowCount}"
rows="#{viewScope.rowCount}" var="row">
<xp:div>
<xp:inputText id="KeyNo">
<xp:this.value><![CDATA[#{newDoc["KeyNo_#{fieldSuffix}"]}]]></xp:this.value>
</xp:inputText>
<xp:inputText id="Qty">
<xp:this.value><![CDATA[#{newDoc["Quantity_#{fieldSuffix}"]}]]></xp:this.value>
</xp:inputText>
</xp:div>
</xp:repeat>
<xp:button value="Add More" id="btnAddMore"
execMode="partial">
<xp:eventHandler event="onclick" submit="true"
execMode="partial" execId="parentDiv" refreshMode="partial" refreshId="parentDiv">
<xp:this.action><![CDATA[#{javascript:viewScope.rowCount = new java.lang.Integer(viewScope.rowCount + 5);}]]></xp:this.action>
<xp:this.script>
<xp:executeClientScript
script="dojo.window.scrollIntoView(dojo.byId('#{id:btnAddMore}').id);">
</xp:executeClientScript>
</xp:this.script>
</xp:eventHandler>
</xp:button>
</xp:div>
</xp:view>
我在这里错过了什么?
我也注意到dojo.window.scrollIntoView clientside JS功能不起作用?任何帮助将非常感激。
谢谢!我的印象是部分刷新不会失去现有的价值?所以我不得不在每次部分刷新期间强制保存,而不像你提到的那样进行验证。 – pipalia 2012-04-04 06:42:24
我如何获得验证以在每一行上工作以验证它是否是有效产品以及运行其他验证?我无法真正计算输入控件的ID,那么如何使用错误消息控件工作? – pipalia 2012-04-05 10:44:55