1

我有一个市场应用程序,在支付页面中,有一个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>
4

1 回答 1

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);
          }
      }

于 2013-10-18T20:36:41.293 回答