2012-11-30 4 views
5

comandButton이 있는데 사용자를 제거해야하는 confirmDialog을 호출하지만 actionListener에있는 메서드를 호출하지 않습니다. 내가 confirmDialog없이 동일한 코드를 넣어 경우에는 실행하고 문제없이 사용자를 삭제Primefaces confirmDialog는 actionListener에서 아무 작업도 수행하지 않습니다.

<p:dialog id="dialogEditar" widgetVar="dialogEditar" header="#{bundle_usuarios.usuarios_titulo_edicion}" resizable="false"> 
    <p:panelGrid id="panelEditar" 
     <p:row> 
      <p:column> 
       <p:commandButton id="btModificar" type="submit" actionListener="#{usuariosMB.modificarUsuario()}" 
          value="#{bundle_general.general_modificar}" update="formEditar" rendered="#{usuariosMB.permisoCtMenu}"/> 
      </p:column> 
      <p:column colspan="7"> 
       <p:commandButton id="btEliminar" type="button" onclick="confirmation.show()" 
           value="#{bundle_general.general_eliminar}"/> 
      </p:column> 
     </p:row> 
    </p:panelGrid> 
    <p:confirmDialog appendToBody="true" id="confirmDialog" message="#{bundle_usuarios.usuarios_confirma}" 
        header="#{bundle_usuarios.usuarios_titulo_confirma_eliminar}" severity="alert" widgetVar="confirmation"> 
     <p:commandButton id="confirm" type="submit" value="#{bundle_usuarios.usuarios_aceptar_eliminar}" 
         update="dialogEditar, formEditar" oncomplete="confirmation.hide()" 
         actionListener="#{usuariosMB.eliminarUsuario()}" rendered="#{usuariosMB.permisoCtMenu}" /> 
     <p:commandButton id="decline" value="#{bundle_usuarios.general_cancelar}" onclick="confirmation.hide()" type="button" /> 
    </p:confirmDialog> 
</p:dialog> 

:

는 코드입니다. 성공을 실행

코드는 다음과 같습니다

<p:dialog id="dialogEditar" widgetVar="dialogEditar" header="#{bundle_usuarios.usuarios_titulo_edicion}" resizable="false"> 
    <p:panelGrid id="panelEditar" 
     <p:row> 
      <p:column> 
       <p:commandButton id="btModificar" type="submit" actionListener="#{usuariosMB.modificarUsuario()}" 
          value="#{bundle_general.general_modificar}" update="formEditar" rendered="#{usuariosMB.permisoCtMenu}"/> 
      </p:column> 
      <p:column colspan="7"> 
       <p:commandButton id="btEliminar" type="submit" actionListener="#{usuariosMB.eliminarUsuario()}" value="#{bundle_general.general_eliminar}" update="dialogEditar, formEditar" rendered="#{usuariosMB.permisoCtMenu}"/> 
      </p:column> 
     </p:row> 
    </p:panelGrid> 
</p:dialog> 

또 다른 것은, 내가 ID = "확인"과 commandButon의 confirmDialog 결코 사라지는와이 창에 차단 된 상태를 유지 클릭 할 때.

자세한 내용이 필요하면 나에게 필요한 것을 말하십시오. 제발, 어떤 제안? 감사합니다.

답변

4

대화 상자가 h : 양식에 배치 된 경우이 양식에서 수행하고 h : 양식을 대화 상자 안에 배치하는 것이 좋습니다. 여전히 widgetVar를 통해 액세스 할 수 있습니다.

<h:form> 
.... 
</h:form> 

<p:dialog> 

<h:form> 
... 
<p:commandButton /> 
<h:form> 

</p:dialog> 
+0

내일 내 코드를 볼 수 있습니다. 죄송합니다.하지만 다른 일을해야만하고 확인할 수 없었습니다. 감사! – Darkfalk

+1

이것은 내 오류입니다, 당신 덕분에 친구, 그리고 너무 늦게 답변 해 죄송합니다. : S – Darkfalk

+0

@Darkfalk 도움을 드리겠습니다. – HRgiger

3

변경 일반 버튼

<p:commandButton id="confirm" type="submit" value="Your Command Text"/> 

명령 단추 그런 다음 클릭 이벤트에 대화

<p:commandButton id="confirm" type="button" value="Your Command Text" onclick="dialog.show()"/> 

dialog이 대화 상자의 widget var입니다 호출합니다.

그런 다음 확인 대화 상자의 명령 단추에서 삭제 작업을 수행 할 수 있습니다.

이미 변경된 것처럼 보입니다. 여전히 같은 문제가 발생하고 있습니까?

+0

방금 ​​시도했지만 동일한 결과가 있습니다. – Darkfalk

+0

그런 다음 HRgiger가 응답 한 양식이 누락되어 있어야합니다. 양식 안에 양식을 넣지 마십시오. –

관련 문제