我有一个市场应用程序,在付款页面中,有一个h:form
在字段上有一些验证。我有h:commandButton
提交表单并在后端执行操作。
代码是这样的:
<div class="form-actions">
<h:commandButton onclick="setTimeout($('#adios').modal('show'),50)"
value="Pay!" action="#{basketManager.pay(accountManager.currentAccount.username)}"
class="btn btn-primary btn-lg"/>
</div>
modal
只会显示一条消息。但我希望在h:form
验证得到正确满足后执行此操作,甚至更好,在action
内部h:commandButton
之后执行此操作(顺便说一下,它不起作用,它只能正常工作)如果我删除了onClick
)
有什么想法吗?
编辑:感谢@SRy的建议,但仍有问题。这是我现在的代码:<div class="form-actions">
<p:commandButton oncomplete="$('#adios').modal('show')"
value="Pay!" action="#{basketManager.pay(accountManager.currentAccount.username)}"
styleClass="btn btn-primary btn-lg"/>
</div>
答案 0 :(得分:1)
你可以使用Primefaces命令按钮p:commandButton
来轻松执行,或者你可以做这样的事情
<h:commandButton
value="Pay!" action="#{basketManager.pay(accountManager.currentAccount.username)}"
class="btn btn-primary btn-lg">
<f:ajax execute="@this" render="@form" onevent=showdlg();/>
</h:commandButton>
的JavaScript
function showdlg(data){
if(data.status=='success'){
setTimeout($('#adios').modal('show'),50);
}
}