xpages 按钮 - 可以在事件 运行 时更改文本或项目?
xpages button - possible to change text or item while events are running?
当onclick事件下的代码为运行(部分刷新未完成)时,是否可以更改元素上的文本?
我们为 xp:button 元素准备了类似的东西。我们更改文本并添加一个 FontAwesome“纺车”,直到代码完成。在我们的功能开始时,我们更改文本和图标,在代码完成后 - 我们恢复为原始 xp:button 文本。
我们使用 jQuery 来修改按钮元素,基本上您也可以使用普通的 JavaScript (innerHTML) 或 dojo。
<xp:button value="Save" id="button-save" xp:key="submitSave">
<xp:eventHandler event="onclick" submit="false">
<xp:this.script><![CDATA[submitSaveFunction();]]></xp:this.script>
</xp:eventHandler>
</xp:button>
submitSaveFunction {
$("button[id$=button-save]").attr("disabled", "true").addClass("disabled").html('<i class="fa fa-spinner fa-pulse fa-fw"></i> Saving');
.....your code.....
$("button[id$=button-save]").removeAttr("disabled").removeClass("disabled").html('Save');
}
XPages 方法是使用 onStart 和 onComplete 属性(还有 onError):
<xp:button value="Search" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial"
onStart="changeText()" onComplete="unchangeText()">
<xp:this.action><![CDATA[#{javascript:serverFunction();}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
您可以使用“#{id:button1}”将按钮的 ID 传递给函数,并使用它在 CSJS 中检索按钮。
当onclick事件下的代码为运行(部分刷新未完成)时,是否可以更改
我们为 xp:button 元素准备了类似的东西。我们更改文本并添加一个 FontAwesome“纺车”,直到代码完成。在我们的功能开始时,我们更改文本和图标,在代码完成后 - 我们恢复为原始 xp:button 文本。 我们使用 jQuery 来修改按钮元素,基本上您也可以使用普通的 JavaScript (innerHTML) 或 dojo。
<xp:button value="Save" id="button-save" xp:key="submitSave">
<xp:eventHandler event="onclick" submit="false">
<xp:this.script><![CDATA[submitSaveFunction();]]></xp:this.script>
</xp:eventHandler>
</xp:button>
submitSaveFunction {
$("button[id$=button-save]").attr("disabled", "true").addClass("disabled").html('<i class="fa fa-spinner fa-pulse fa-fw"></i> Saving');
.....your code.....
$("button[id$=button-save]").removeAttr("disabled").removeClass("disabled").html('Save');
}
XPages 方法是使用 onStart 和 onComplete 属性(还有 onError):
<xp:button value="Search" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="partial"
onStart="changeText()" onComplete="unchangeText()">
<xp:this.action><![CDATA[#{javascript:serverFunction();}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
您可以使用“#{id:button1}”将按钮的 ID 传递给函数,并使用它在 CSJS 中检索按钮。