Cargar Ventana desde un evento contenido en un StandarForm?

Tengo un Formulario StandarForm. En uno de los campo necesito armar una cadena con datos de otro Formulario, la cadena es un conjunto de países separados por comas. la Idea es que con el evento "onclick" de este campo que es tipo texto salga una ventana javascript que me cargue el formulario de paises, pueda seleccionarlos, y el value de este campo sea la cadena armada.

¿Es posible de hacer con Kumbia? ¿Puedo cargar una ventana Javascript desde un Formulario StandarForm, ademas de acceder a los eventos de los campos?

Hice un intento de llamar al evento onclick en el StandarForm con esta Función set_event($action, $caption) pero no obtuve ningún resultado.

Comentarios

  • como utilizaste set_event?
  • Al final del standarform puse el set_event para probarlo esta es la linea, le doy boton adicionar, y luego click en el campo paises del formulario, en la consola de errores no muestra absolutamente nada.

    $this->set_event('paises','onclick','alert()');

    y la función esta tal cual que en el libro, ¿algún error:?:
  • No hay problema con el set_event el evento no es onclick sino click <!-- s:roll: --><img src="{SMILIES_PATH}/icon_rolleyes.gif" alt=":roll:" title="Rolling Eyes" /><!-- s:roll: --> $this->set_event('paises','click','alert("HI")'); , se que esto es muy básico pero seguiré con el proceso de la ventana ya que cree el tema <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D --> hay me perdonaran los mas expertos.

    Estoy haciendo una prueba con una ventana sencilla, específicamente el primer ejemplo del libro pag. 159 para abrir una ventana desde este evento. en la consola de errores de javascript sale estos errores y ahi si nose que pasa <!-- s:shock: --><img src="{SMILIES_PATH}/icon_eek.gif" alt=":shock:" title="Shocked" /><!-- s:shock: -->

    Error: Class is not defined
    Source File: <!-- m --><a class="postlink" href="http://localhost/sume/javascript/scriptaculous/window.js">http://localhost/sume/javascript/script ... /window.js</a><!-- m -->
    Line: 24

    Error: Event.observe is not a constructor
    Source File: <!-- m --><a class="postlink" href="http://localhost/sume/tbpais/form_pais">http://localhost/sume/tbpais/form_pais</a><!-- m -->
    Line: 8



    ¿Alguien que me de una pista?
  • Al parecer falta incluir alguna libreria antes de crear la ventana, como la estas usando con un window.open o un new Window?
  • El ejemplo de el libro esta con new Window de igual forma ya probé este código aparte, simplemente para que muestre la ventana pero sale el mismo error. y la ventana tampoco da señales de vida.

    <?= javascript_include_tag("scriptaculous/window") ?>
    <?= stylesheet_link_tag("themes/default") ?>
    <?= stylesheet_link_tag("themes/mac_os_x") ?>
    <div style='display:none' id='contenido'><h1>Hola a Todos</h1></div>

    <script type'text/javascript'>
    new Event.observe(window, "load", function(){
    var unaVentana = new Window({
    className: "mac_os_x",
    width: 300,
    height: 200,
    title: "Bienvenido a Kumbia"
    })
    unaVentana.setHTMLContent($('contenido').innerHTML)
    unaVentana.showCenter()
    })
    </script>
  • Al parecer no esta incluyendo correctamente los archivos javascript necesarios para usar las ventanas.

    Revisa permisos en public/javascript
    Revisa el codigo generado para ver si las rutas a estos archivos estan ok

    Saludos
  • Logre que me sacara la ventana, creo que la documentación en cuento a este tema es escasa en el libro.
    Luego de verificar que las rutas y los permisos encontré que estas estaban correctas. Esto me dejo un poco ofendido <!-- s:roll: --><img src="{SMILIES_PATH}/icon_rolleyes.gif" alt=":roll:" title="Rolling Eyes" /><!-- s:roll: --> pero recordé que cada objeto en el StandarForm tiene su javascript en la carpeta public/javascript. ingrese el código de la ventana que postee anteriormente y este no me funcionaba correctamente lo cambie por

    function ventana_paises(){
    var win = new Window({
    className: "dialog",
    width: 350,
    height: 400,
    zIndex: 100,
    resizable: true,
    title: "Sample window",
    showEffect: Effect.BlindDown,
    hideEffect: Effect.SwitchOff,
    draggable:true,
    wiredDrag: true
    })
    win.getContent().innerHTML= "<div style='padding:10px'> Este es el contenido</div>"
    win.setStatusBar("Status bar info");
    win.showCenter();
    }


    No hay necesidad de incluir los themes del prototype ni la librería

    y en el constructor del Standarform $this->set_event('paises','click','ventana_paises()');

    creo que es bueno continuar con el formulario dentro de la ventana el cual me va generar la cadena de paises y darle el value al mismo campo <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->
Sign In or Register to comment.