El cuadro de diálogo de confirmación no desaparece después de la confirmación

Tengo un cuadro de diálogo y dos botones de comando. Después de hacer clic en la opción, el cuadro de diálogo no desaparece. A continuación se muestra el fragmento de código. estoy usando el confirmation.hide() .

<p:confirmDialog
    message="Are you sure about deleting the substudyplan?"
    id="confirmation"
    header="Confirmation Deleting substudyplan" severity="alert"
    appendToBody="TRUE" widgetVar="cd">
        <p:commandButton value="Yes Sure"
                 actionListener="#{editBean.deleteSubStudyPlan(selectedRow)}"  
                 update=":studyPlanEditForm"
             oncomplete="confirmation.hide()" />
        <p:commandButton value="Not Yet" onclick="confirmation.hide();"
        type="button" />
</p:confirmDialog>

preguntado el 04 de julio de 12 a las 06:07

¿Funciona el botón "Aún no" cuando haces clic en él? ¿Es solo el botón 'Sí, seguro' el que no funciona? -

2 Respuestas

tu widgetVar is cd

por lo que debe acceder a él con su nombre cuando intente usarlo

Entonces, cambia confirmation.hide() a cd.hide()

O, renombrar widgetVar en cd a confirmación

Además, mirando esto ConfirmDialog dentro del formulario no se cierra con la actualización @form , es posible que desee reducir el update=":studyPlanEditForm" a update=":someOtherWrapperInsideForm"

Respondido 04 Jul 12, 08:07

Hola, lo cambié. Pero no funcionó. Se está invocando actionListener. Pero el cuadro de diálogo no se cierra. - Praveen V

extraño, intenta reemplazar appendToBody="TRUE" con appendToBody="true" , ​​¿hay alguna posibilidad de que tengas formularios anidados? (formulario dentro del formulario) - Daniel

Hola No hay forma anidada; Cambió lo mismo a appendToBody="true" pero no funciona. - Praveen V

solo para una prueba, cambie el nombre del cd a un nombre uniqe más largo como mycustomvar e intente nuevamente, si eso no ayuda, intente eliminar appendToBody="true" - Daniel

también, si usas appendToBody="true" Luego añade h:form dentro de su confirmDialog - Daniel

Trata onclick en lugar de oncomplete. En mi experiencia onsuccess, onerror y oncomplete no siempre funcionan como se esperaba.

Respondido 04 Jul 12, 13:07

Hola, resolví el problema usando un diálogo simple en lugar de un diálogo de confirmación. - Praveen V

¡Me alegro de eso! Soy nuevo en stackoverflow y aún no he hecho una pregunta. Tal vez deberías marcarlo como resuelto de alguna manera. - weaselflink

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.