如何使用js以编程方式在xpage中创建文本字段
how to create text fields in xpage programmatically using js
这里需要一点帮助。我对 JS 还是有点陌生,所以我很紧张。我需要在 Xpage 中使用 JS 或 SSJS 以编程方式创建文本字段,我真的迷路了。例程是当我单击一个按钮时,将添加一个文本字段。我将不胜感激每一个帮助和建议。提前谢谢你。
如果您只想添加一个文本字段,则在 XPage 中创建此字段但一开始不呈现它。该按钮可以设置 viewScope 变量,如果设置了此 viewScope 变量,文本字段的 rendered 代码将 return 为真。这样,单击按钮后该字段将可见。
如果您想动态添加多个文本字段,请使用重复控件。同样,使用一个 viewScope 变量,该变量将包含您将通过按钮设置的文本字段名称列表。此 viewScope 变量是重复控件的值 属性.
重复控制示例:
<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>
这里需要一点帮助。我对 JS 还是有点陌生,所以我很紧张。我需要在 Xpage 中使用 JS 或 SSJS 以编程方式创建文本字段,我真的迷路了。例程是当我单击一个按钮时,将添加一个文本字段。我将不胜感激每一个帮助和建议。提前谢谢你。
如果您只想添加一个文本字段,则在 XPage 中创建此字段但一开始不呈现它。该按钮可以设置 viewScope 变量,如果设置了此 viewScope 变量,文本字段的 rendered 代码将 return 为真。这样,单击按钮后该字段将可见。
如果您想动态添加多个文本字段,请使用重复控件。同样,使用一个 viewScope 变量,该变量将包含您将通过按钮设置的文本字段名称列表。此 viewScope 变量是重复控件的值 属性.
重复控制示例:
<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>