Primefaces: componente dialog [Resolvido]

componente Dialog do primefaces só funciona no IE. No Chrome e no Firefox não funciona.

Código:

[code]<p:commandButton id=“showDialogButton” type=“button” value=“Show” onclick=“dlg.show()” />

<p:dialog header=“Enter FirstName” widgetVar=“dlg” resizable=“false”>
<h:form id=“form”>

    <h:panelGrid columns="2" style="margin-bottom:10px">  
        <h:outputLabel for="firstname" value="Firstname:" />  
        <p:inputText id="firstname" value="#{pprBean.firstname}" />  
    </h:panelGrid>  

    <p:commandButton id="submitButton" value="Submit" update=":display" oncomplete="dlg.hide();"/>  
          
</h:form>  

</p:dialog>

<p:outputPanel id=“display” style=“display:block;margin-top:10px;”>
<h:outputText id=“name” value=“Hello #{pprBean.firstname}” rendered="#{not empty pprBean.firstname}"/>
</p:outputPanel> [/code]

Inspecionando o javascript no Chrome verifiquei o seguinte erro: 111Uncaught ReferenceError: dlg is not defined

Alguém já passou por este problema e saberia como resolver? agradeço a ajuda.

coloca o id tb

oi Marlon Meneses,

obrigado pela resposta. Fiz o que você sugeriu (não sei como não pensei nisso). Bom, o erro mudou. Está dando o seguinte erro agora:

111Uncaught TypeError: Object # has no method ‘show’

Alguma idéia?

coloca o dialog dentro do form tambem

Eu coloquei dentro do mesmo form e o primeiro erro voltou a acontecer. Não está encontrando o id=“dlg”. O Interessante é que funciona no IE.

afff…
esse teu IE então é abençoado!
rsrs

cara, não sei mais o que pode tá acontecendo
esse erro nuca aconteceu comigo!
isso é muito estranho

O exemplo do site do primefaces funciona normalmente em todos os browsers… mas este mesmo exemplo na minha aplicação não funciona… mesmo alterando a lib do primefaces não resolveu… não sei o que fazer…

Considero 2 práticas ruins:

  • Colocar o dialog dentro do form
  • Colocar id igual ao widgetVar

Tentar trocar esse nome widgetVar=“dlg” para outro coisa, pode ser que na sua página já tenha algum nome igual e com isso quebra esse dialog.

bom, descobri o que está causando o problema. É este script:<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

Minha página estava importando este script… quando removi funcionou perfeitamente em todos os browsers e sem colocar o id. Agradeço a todos pela colaboração. :slight_smile: