Primefaces: componente dialog [Resolvido]

8 respostas
N

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

Código:
<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>

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.

8 Respostas

M

coloca o id tb

N

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?

M

coloca o dialog dentro do form tambem

N

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.

M

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

N

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…

A

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.

N

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:

Criado 28 de fevereiro de 2013
Ultima resposta 28 de fev. de 2013
Respostas 8
Participantes 3