Foros del Web » Programando para Internet » Javascript » Frameworks JS »

mootools

Estas en el tema de mootools en el foro de Frameworks JS en Foros del Web. Buenas, Tengo el tipico formulario que envia datos a una pagina, en esta pagina inserto esos datos en una bd y al terminar el insert ...
  #1 (permalink)  
Antiguo 04/03/2011, 04:28
ira
 
Fecha de Ingreso: febrero-2004
Mensajes: 31
Antigüedad: 20 años, 9 meses
Puntos: 0
mootools

Buenas,

Tengo el tipico formulario que envia datos a una pagina, en esta pagina inserto esos datos en una bd y al terminar el insert nos redirije a otra pagina, y la verdad es que me gustaria cambiar este proceso.
Todo esto viene a raiz de que he cambiado la navegacion de la web, al principio era lo tipico que al clickear en un enlace del menu cargaba una pagina nueva, ahora en vez de cargar la pagina por completo lo que hago es actualizar un div con el contenido de la nueva pagina...
Creo que lo ideal seria que cuando el usuario envia el formulario se abriese el tipico lightbox mostrando el estado del insert en la bd, con el tipico icono de cargando y una vez se haya terminado el insert se cierre el lightbox y nos cargue el contenido de la nueva pagina en un div...

He estado buscando y no se si el JSON es lo que me hace falta realemente para esto...

Se os ocurre o conoceis que parte de la doc o algun ejemplo de como se hace esto???

Gracias de antemano un saludo
  #2 (permalink)  
Antiguo 05/03/2011, 07:21
ira
 
Fecha de Ingreso: febrero-2004
Mensajes: 31
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: mootools

Era mas facil de lo que creia al fina lo he solucionado de esta manera:
Lo dejo por si veis algun fallo y pr si le hace falta a alguien.

Código Javascript:
Ver original
  1. var myform = document.id('form');
  2.     var envio = form.getElementById('envio');
  3.     var validator = new Form.Validator(myform, {
  4.         evaluateOnSubmit: false
  5.     });
  6.     myform.addEvent('submit', function(e) {
  7.         if (aqui condicion requerida) {
  8.             e.stop();
  9.             // Salta mensaje aviso no todo ok
  10.             return;
  11.         }
  12.         if (!validator.validate()) {
  13.             e.stop();
  14.             return;
  15.         }
  16.         e.stop();
  17.         // creo un elemento que sera la transparencia negra
  18.         var black = new Element('div', {
  19.             style: 'display: block; width: 100%; height: 100%; background-color: #000; z-index: 666; position: absolute;'
  20.         }).injectInside(cont);
  21.         black.setStyles({
  22.             opacity: 0.7
  23.         });
  24.         // creo el popup
  25.         var popup = new Element('div', {
  26.             style: 'display: block; width: 350px; height: 150px; background-color:#000000; -moz-border-radius:5px 5px 5px 5px; border:1px solid #4C4F54; z-index: 1000; position: absolute; margin: 300px 0 0 215px;'
  27.         }).injectInside(cont);
  28.         // aqui va el tipico loading y el mensaje
  29.         var loading = new Element('div', {
  30.             style: 'display: block; width: 220px; height: 20px; background:url(../img/loading.gif) no-repeat; margin: 40px auto; text-align:center; line-height:60px; color:#FFFFFF;',
  31.             text: 'Uploading DataBase'
  32.         }).injectInside(popup);
  33.        
  34.  
  35.     this.set('send', {
  36.        // recojo mensaje que todo ha salido bien y redirijo a otra pagina
  37.         onComplete: function(resp) {
  38.             loading.set('html', resp);
  39.             document.id('container').load('xxxxx.php');
  40.         }
  41.     });
  42.     //envío el formulario
  43.     this.send();
  44. });

Saludos

Etiquetas: mootools
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.