Pessoal boa noite, estou com problema estou usando como exemplo e dialog login do prime a diferença e que eu estou usando este dialog para uma tela de cadastro.
entao isso funciona, o que ocorre e no javascript que ele esta utilizando pra ocultar a dialog, ela simplismente nao some
segue abaixo o codigo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
template="/template/template_padrao.xhtml">
<h:head>
</h:head>
<ui:define name="conteudo">
<p:ajaxStatus onstart="statusDialog.show();" onsuccess="statusDialog.hide();" />
<h:form id="dialog">
<p:dialog modal="true" widgetVar="statusDialog" header="Aguarde buscando..."
draggable="false" closable="false" resizable="false" appendToBody="true" style="z-index: 2">
<p:graphicImage value="/img/ajax-loader.gif"/>
</p:dialog>
<p:dialog id="dialogCadSucesso" modal="false" widgetVar="sucessoCadWidgetVar" header="Informação do Sistema"
draggable="false" closable="false" resizable="false" >
<h:panelGrid columns="1" style="padding: 25px;" cellpadding="5">
<h:outputText value="Cadastro efetuado com sucesso!!" />
<p:commandButton id="sucessoCad" value="OK" ajax="false" onclick="sucessoCadWidgetVar.hide()" type="button" />
</h:panelGrid>
</p:dialog>
<p:confirmDialog message="Deseja realmente excluir este registro?"
hideEffect="explode" header="Aviso" severity="alert"
widgetVar="confirmation" modal="true">
<!--caso seja sim chamo o metodo excluir, e fecho o modal com o oncomplete, tenho o process que estou dizendo para processar o form, e update para atualizar a tabela-->
<p:commandButton id="btnSim" value="Sim"
oncomplete="confirmation.hide(),sucessoDelWidgetVar.show();"
actionListener="#{usuarioController.removerUsuario}"
immediate="true"
update=":formTabela:listaUsuario"
>
</p:commandButton>
<!--caso seja não somente fecha o modal-->
<p:commandButton id="btnNao" value="Não" onclick="confirmation.hide();" type="button"/>
</p:confirmDialog>
</h:form>
<h:form id="formTabela">
<p:dataTable id="listaUsuario" var="usuario" value="#{usuarioController.usuarios}"
emptyMessage="Nenhum Usuário encontrado." paginator="true"
rows="20" rowStyleClass="odd, even"
widgetVar="minhaTable">
<f:facet name="header">
<h:panelGrid columns="4">
<h:panelGroup>
<p:commandButton title="novo" value="Novo"
ajax="true" onclick="dialogcadusuario.show()"
immediate="true"
icon="ui-icon-document">
</p:commandButton>
</h:panelGroup>
<h:panelGroup>
<h:outputText value="Buscar em toda tabela:" />
<p:inputText id="globalFilter" onkeyup="minhaTable.filter()" style="width:150px" />
</h:panelGroup>
</h:panelGrid>
</f:facet>
<p:column id="ID" headerText="ID" sortBy="#{usuario.idUsuario}">
<h:outputText value="#{usuario.idUsuario}" />
</p:column>
<p:column id="Nome" filterBy="#{usuario.nome}"
headerText="Nome" sortBy="#{usuario.nome}">
<h:outputText value="#{usuario.nome}"/>
</p:column>
<p:column id="Login" filterBy="#{usuario.login}"
headerText="Login" sortBy="#{usuario.login}">
<h:outputText value="#{usuario.login}" />
</p:column>
<p:column id="Ativo" filterBy="#{usuario.isativo}"
headerText="Ativo" sortBy="#{usuario.isativo}">
<h:outputText value="#{usuario.isativo}" />
</p:column>
<p:column id="Grupo" filterBy="#{usuario.grupo.nome}"
headerText="Grupo" sortBy="#{usuario.grupo.nome}">
<h:outputText value="#{usuario.grupo.nome}" />
</p:column>
<p:column>
<p:commandButton title="Editar" ajax="true"
update=":formdialog:display"
immediate="true"
onclick="editWidget.show()"
actionListener="#{usuarioController.preparaEdit}"
icon="ui-icon-pencil">
<f:setPropertyActionListener value="#{usuario}" target="#{usuarioController.usuarioSelecionado}" />
</p:commandButton>
<p:spacer width="5"></p:spacer>
<p:commandButton title="Excluir"
ajax="true" onclick="confirmation.show()"
immediate="true"
icon="ui-icon-close">
<f:setPropertyActionListener value="#{usuario}" target="#{usuarioController.usuarioSelecionado}" />
</p:commandButton>
</p:column>
</p:dataTable>
<p:blockUI block="listaUsuario" trigger="listaUsuario" >
Carregando Lista de usuarios<br />
<p:graphicImage value="/img/ajax-loader.gif"/>
</p:blockUI>
</h:form>
<h:form id="formdialog">
<ui:define name="mensagens" />
<p:dialog header="Editando Usuario" widgetVar="editWidget" resizable="false" id="edit"
showEffect="fade" hideEffect="explode" modal="true">
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<h:outputText value="Nome:" />
<h:inputText value="#{usuarioController.usuarioSelecionado.nome}" style="font-weight:bold" size="50"/>
<h:outputText value="Login:" />
<h:inputText value="#{usuarioController.usuarioSelecionado.login}" style="font-weight:bold" size="50"/>
<h:outputText value="Grupo:" />
<p:selectOneMenu id="listgrupo" value="TETSE" required="true" requiredMessage="Selecione um grupo">
<f:selectItem itemLabel="#{usuarioController.usuarioSelecionado.grupo.nome}" itemValue="{NULL}" />
<f:selectItems value="#{usuarioController.grupos}"
var="grupo" itemLabel="#{grupo.nome}" itemValue="#{grupo.idGrupo}" />
</p:selectOneMenu>
<h:outputText value="Ativo" />
<p:selectOneMenu id="ativo" value="#{usuarioController.usuarioSelecionado.isativo}" required="true" requiredMessage="Selecione um visibilidade">
<f:selectItem itemLabel="Selecione a visiblidade" itemValue="#{NULL}" />
<f:selectItem itemLabel="ativo" itemValue="1" />
<f:selectItem itemLabel="inativo" itemValue="2" />
</p:selectOneMenu>
<p:commandButton value="Atualizar" ajax="true"
oncomplete="editWidget.hide(),sucessoCadWidgetVar.show()"
actionListener="#{usuarioController.editarUsuario()}"
update=":formTabela:listaUsuario"
>
</p:commandButton>
</h:panelGrid>
</p:dialog>
</h:form>
<h:form id="formCadastro">
<p:messages />
<p:dialog id="cadUsuario" widgetVar="dialogcadusuario" modal="true" showEffect="fade" width="600" header="Cadastro de Usuário">
<p:fieldset id="cadastroUsuario">
<p:messages id="mensagens" showDetail="false" showSummary="true" />
<h:panelGrid columns="1" id="panelCadUsuario">
<h:outputLabel value="Nome: *" id="nome" title="informe seu nome" style="FONT-WEIGHT: bold;"/>
<h:inputText value="#{usuarioController.usuario.nome}" size="50" required="true" requiredMessage="Informe seu nome"/>
<h:outputLabel value="Grupo: *" style="FONT-WEIGHT: bold;"/>
<p:selectOneMenu id="listgrupo" value="#{usuarioController.grupo.idGrupo}" required="true" requiredMessage="Selecione um grupo">
<f:selectItem itemLabel="Selecione o Grupo" itemValue="#{NULL}" />
<f:selectItems value="#{usuarioController.grupos}"
var="grupo" itemLabel="#{grupo.nome}" itemValue="#{grupo.idGrupo}" />
</p:selectOneMenu>
<h:outputLabel value="Ativo: *" style="FONT-WEIGHT: bold;"/>
<p:selectOneMenu id="ativo" value="#{usuarioController.usuario.isativo}" required="true" requiredMessage="Selecione um visibilidade">
<f:selectItem itemLabel="Selecione a visiblidade" itemValue="#{NULL}" />
<f:selectItem itemLabel="ativo" itemValue="1" />
<f:selectItem itemLabel="inativo" itemValue="2" />
</p:selectOneMenu>
<h:outputLabel value="Login: *" id="login" title="informe seu login" style="FONT-WEIGHT: bold;"/>
<h:inputText value="#{usuarioController.usuario.login}" size="30" required="true" requiredMessage="Selecione um login"/>
<h:outputLabel value="Senha: *" id="senha" title="informe seu senha" style="FONT-WEIGHT: bold;"/>
<p:password id="feedback" value="#{usuarioController.usuario.senha}" feedback="true"
promptLabel="por favor informe sua senha"
goodLabel="Bom"
strongLabel="Forte"
weakLabel="Fraca"
size="30"
required="true" requiredMessage="Informe sua senha"/>
<h:outputLabel value="repetir-Senha: *" id="senha2" title="informe seu repetir-Senha" style="FONT-WEIGHT: bold;"/>
<p:password id="feedback2" value="#{usuarioController.usuario.senha}" feedback="true"
promptLabel="por favor informe sua senha"
goodLabel="Bom"
strongLabel="Forte"
weakLabel="Fraca"
size="30"
required="true" requiredMessage="Redigite sua senha para confirmação" />
</h:panelGrid>
<br />
<p:commandButton value="Adicionar"
type="submit"
ajax="true"
actionListener="#{usuarioController.addUsuario}"
oncomplete="handleLoginRequest(xhr, status, args)"
update=":formTabela:listaUsuario,mensagens,cadastroUsuario"
icon="ui-icon-disk"
>
</p:commandButton>
</p:fieldset>
<p:ajax event="close" update="cadastroUsuario" listener="#{usuarioController.limpaCampo()}"/>
</p:dialog>
<script type="text/javascript">
function handleLoginRequest(xhr, status, args) {
if(args.validationFailed || !args.loggedIn) {
alert(args.validationFailed);
alert(args.loggedIn);
jQuery('#dialogCadSucesso').effect("shake", { times:3 }, 100);
} else {
alert("else");
sucessoCadWidgetVar.hide();
}
}
</script>
</h:form>
</ui:define>
</ui:composition>
se puderem me ajudar e me mostrar o que estou fazendo de errado.
acredito que o erro esta no javascritp pe o meu dialog esta dentro de um form
eu tentei assim e nao funcionou dialog :sucessoCadWidgetVar.hide();
alguem pode me ajudar??
abç !!