2012-05-01 31 views
5

Cuando intento llamar a Richfaces.showModalPanel ('id') me aparece Richfaces, no está definido el error de javascript y no ocurre nada.Richfaces no está definido javascript error

En mi aplicación de muestra tengo dos páginas, una es la vista maestra y otra es la vista secundaria. La vista secundaria invoca popupPanel en la vista maestra usando la llamada anterior. No estoy seguro que está mal. Cualquier indicador sería apreciada.

Estas son las páginas que tengo:

Primera página:

<!DOCTYPE html> 
<html lang="en" 
     xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:rich="http://richfaces.org/rich" 
     xmlns:c="http://java.sun.com/jsp/jstl/core" 
     xmlns:richext="http://java.sun.com/jsf/composite/richext"> 
    <h:head> 
     <title>Page Title</title> 

    </h:head> 
    <h:body> 

    <ui:include id="nextPageInclude" src="secondpage.xhtml"/> 
    <rich:popupPanel id="logoutDialogId" 
       width="300" 
       height="50" 
       autosized="true" 
       resizeable="false" 
       moveable="true" 
       modal="true" 
       style="border:5px solid #5e81ac; background-color:#dce3ed;"> 

     <h:outputText value="Inside logout window"/> 
    </rich:popupPanel> 

    </h:body> 
</html> 

Segunda página:

<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:a4j="http://richfaces.org/a4j" 
    xmlns:rich="http://richfaces.org/rich"> 
    <h:head/> 
    <a4j:outputPanel id='headerLinks' layout="block"> 
     <ul id="sddm"> 
      <li> 
      </li> 
      <li> 
      </li> 
      <li> 
       <a4j:commandLink id="logoutLinkId" 
           value="Logout" 
           onclick="Richfaces.showPopupPanel('logoutDialogId')" 
           styleClass="linkLogout"/></li> 

     </ul> 
     <div style="clear:both"></div> 
    </a4j:outputPanel> 
</ui:composition> 

EDIT: Se adjunta cargada pantalla JS

enter image description here

Gracias,

Respuesta

2

Retire la <h:head> de la composición incluyen. No pertenece allí y posiblemente corrompería el encabezado de HTML generado. El <h:head> debe declararse solo una vez en la vista y preferiblemente solo en la plantilla maestra.

Otra posible causa es que tiene un Filter que coincide con el patrón de URL de las solicitudes de recursos, lo que a su vez no hace su trabajo del todo bien. Compruebe la fuente HTML cuyos elementos <script> se generan y presione F12 en Firebug/Chrome/IE9 y explore la pestaña Net (o Network) para ver qué navegador ha recuperado en cuanto a los recursos JS.


actualización: el nombre del objeto es RichFaces con la mayúscula F, no Richfaces. Arreglarlo también.

+0

Hola BalusC, inicialmente yo probé sin cabeza en la composición, no funcionó. Luego agregué h: cabeza, todavía el mismo problema. Creo que algo más está pasando. – kosa

+0

Actualicé la respuesta con otra posible causa. – BalusC

+0

Hola BalusC, captura de pantalla adjunta de JS cargado. Contiene jsf.js.xhtml. – kosa

8

El problema con el código anterior es que, dado que RichFaces 4.0 no podemos hacer que las antiguas llamadas para abrir una popupPanel, la forma en que has escrito es obsoleta, intente hacer esto si es posible que en su lugar: -

<a4j:commandLink id="logoutLinkId" 
    value="Logout" 
    onclick="#{rich:component('logoutDialogId')}.show();" 
    styleClass="linkLogout"/> 

Y del mismo modo para ocultar el uso popupPanel

<a4j:commandLink id="Close_Modal" 
    value="Close Logout" 
    onclick="#{rich:component('logoutDialogId')}.hide();" 
    styleClass="linkLogout"/> 
+0

Tiene razón. Yo lo hice. Gracias. – kosa

+1

Su bienvenida :) Mi primera contribución al mundo en stackOverflow – saNiks

+1

Bienvenido a SO. Sigue contribuyendo con tu conocimiento. Gave +1. Por cierto, es posible que vea muchas preguntas relacionadas con Richfaces4 (estamos en proceso de actualización de 3.x a 4.2) – kosa