我的代码:
<h:form id="newBSTypePanel" >
<h:panelGrid columns="2" id="newRecod" >
<h:outputText value="Name"/><h:inputText value="#{treeTableController.newBStypeBean.currentObject.TYPENAME.value}" required="true" />
<p:commandButton value="save" action="#{treeTableController.saveNewNodes}" oncomplete="Dlg.hide()" update="productDataForm"/>
<p:commandButton value="close" oncomplete="Dlg.hide()" />
</h:panelGrid>
</h:form>
保存 Action 有很多功能。如果我反复单击该按钮,则可能会在数据库中保存一些记录。那不是我的愿望。如何防止多次点击并解决此问题?
最佳答案
<p:commandButton>
的客户端API小部件:
PrimeFaces.widget.CommandButton
disable()
-void禁用按钮enable()
-void启用按钮所以你可以这样使用:
<p:commandButton widgetVar="saveButton"
onclick="saveButton.disable()"
value="save"
action="#{treeTableController.saveNewNodes}"
oncomplete="saveButton.enable();Dlg.hide()"
update="productDataForm"/>