需要一点帮助。我对JS还有点新意,所以我在这里处于危机之中。我需要在Xpage中使用JS或SSJS以编程方式创建文本字段,而我真的输了。例程是当我单击一个按钮时,将添加一个文本字段。我将感谢您的每一个帮助和建议。提前谢谢。
答案 0 :(得分:1)
如果您只想添加一个文本字段,请在XPage中创建此字段,但最初不要渲染它。该按钮可以设置 viewScope变量,如果设置了此viewScope变量,则文本字段的呈现代码将返回true。这样,单击按钮后,该字段将可见。
如果要动态添加多个文本字段,请使用重复控件。同样,使用一个viewScope变量,该变量将包含您将按按钮设置的文本字段名称列表。此viewScope变量是重复控件的value属性。
重复控制的例子:
<xp:this.data>
<xp:dominoDocument
var="document1"
formName="Test">
</xp:dominoDocument>
</xp:this.data>
<xp:repeat
id="repeat1"
rows="100"
value="#{viewScope.fields}"
var="fieldName">
<xp:label
value="#{fieldName}"
for="inputText1">
</xp:label>
<xp:inputText
id="inputText1">
<xp:this.value><![CDATA[#{document1[fieldName]}]]></xp:this.value>
</xp:inputText>
<br />
</xp:repeat>
<xp:button
value="Add Field"
id="button1">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="repeat1">
<xp:this.action><![CDATA[#{javascript:
if (!viewScope.fields) {
viewScope.fields = [];
}
viewScope.fields.push("field" + (viewScope.fields.length + 1));
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>