У меня есть кнопка Сохранить на экране certHolderAddressChange, как показано ниже:
<p:commandButton id="cmdSave" value="#{label.Save}" action="save" update="certHolderAddressChange" />
На этом экране есть один флажок. Требование: если этот флажок установлен и нажата кнопка «Сохранить», открывается одно всплывающее окно. Всплывающее окно содержит 2 кнопки: «Да» и «Нет». При нажатии кнопки «Да» вызывается другое действие. Вот всплывающий код:
<p:dialog header="#{label.primaryAdd}" widgetVar="dlg1" showEffect="bounce" hideEffect="explode" appendToBody="true">
<h:panelGrid columns="2">
<h:outputText value="#{label.msgPrimary}" />
<p:spacer width="30" height="10" />
<h:outputText />
<p:spacer width="30" height="10" />
</h:panelGrid>
<div align="center">
<p:commandButton immediate="true" value="#{label.yes}" action="makeAdd"/>
<p:spacer width="10" height="5" />
<p:commandButton value="#{label.no}" onclick="dlg1.hide()" type="button"/>
</div>
</p:dialog>
Если флажок снят и нажата кнопка Сохранить, вызывается простое действие "save"
(всплывающее окно не открыто). Чтобы добиться этого, я использую jQuery и на основе флажка запускаю действие. Вот код jQuery:
<div>
<h:inputHidden value="#{certHolderDetail.primaryInd}" id="primaryID" />
</div>
<script>
jQuery("#cmdSave").click(function(e) {
var textvalue = jQuery('#primaryID').val();
if (textvalue == 'true') {
dlg1.show();
} else {
jQuery("#save").click();
}
});
</script>
Это работает, но проблема в том, что при каждом условии вызывается действие "save"
. Но если я уберу action="save"
с кнопки, то остальная часть не будет работать. В коде jQuery работает только условие if.
Я хочу назвать действия "save"
и "makeAdd"
на основе условия. Как мне этого добиться?
Также в каждом состоянии (флажок установлен или не установлен) действие «сохранить» запускается каждый раз. я хочу остановить действие сохранения, когда флажок установлен .....