Posted by mauhg on October 11, 2011 at 6:44pm
Buenas Drupaler@s,
tengo dudas con respecto a como drupal maneja el ajax, he estado intentando que un formulario se envie por este metodo, he logrado algunos avances pero aun no lo logro del todo, ademas la idea es utilizar un libreria de js para darle estilos al formulario, principalmente a los dropdownbox, si este js esta activo el ajax no funciona del todo si no lo esta da unos errores pero no recarga la pagina. Usando el firebug para ver si habia algun conflicto no veo en la consola de javaascript el llamado al ajax. Ideas, sugerencias, comentarios?
Muchas gracias, Pura vida!!!

Comments
Mas info
Buenas Mau,
Drupal 6 realmente no hace nada de ajax siendo el basico, y Drupal 7 si usa jQuery mas unas funciones en Drupal para hacer ajax.
Normalmente son los modulos en si los que hacen el ajax y cada modulo podria estarlo implementando de diferente manera.
Dices que estas intentando que un forumlario se envie por ese metodo... lo estas haciendo por un custom module o como?
Cual libreria estas usando para dar estilos al formulario? Si estas usando otra libreria totalmente independiente de jQuery podrias llegar a tener conflictos.
Tal vez si nos dices esos detalles podemos irle dando forma.
Saludos,
Nestor Mata
http://nestor.profesional.co.cr/es
La libreria que se usa para
La libreria que se usa para el estilo se llama jqtransform, si usa jquery.
El formulario me estoy basando en webform y un post que me encontre para que sea ajax, el webform lo hice un bloque (http://envisioninteractive.com/drupal/add-ajax-to-a-webform-in-drupal-7/). Para hacer que el webform usara ajax hice un custom module.
Muchas gracias!
Kobe System
Sobre el error
Me podrias dar un poco mas de informacion sobre los errores que da?
Saludos,
Nestor Mata
http://nestor.profesional.co.cr/es
Si tengo el inicializador del
Si tengo el inicializador del javascript para los estilos del form, no hace ningun ajax, me regarga la pagina completa y me lleva a la pagina de agradecimiento.
Si no hago el llamado al jqtrasform, me hace el submit por ajax pero me devuleve 2 notices, que te los dejos textuales:
Notice: Undefined index: rebuild en drupal_process_form() (línea 897 de /www/drupal/includes/form.inc).
Notice: Undefined index: rebuild en drupal_process_form() (línea 913 de /www/drupal/includes/form.inc).
Pura vida!
Kobe System
Los notice no necesariamente
Los notice no necesariamente son errores en PHP, de hecho no se recomienda para sitios en production tenerlos habilitados.
Esas lineas en Drupal 7.8 pertenecen a la funcion drupal_process_form, pero especificamente a un if que revisa si esta o no seteado ese elemento, por lo que no parece ser ningun error.
En resumen, desabilitando el jqtransform no parece haber ningun problema.
En cuanto a tenerlo habilitado... si tienes el sitio publico te puedo ayudar a revisarlo, por otro lado, puedo preguntar para que ocupas una libreria para definir estilos? con simple css se hace eso.
Saludos,
Nestor Mata
http://nestor.profesional.co.cr/es
combobox
La libreria es debido a que los combobox del form tiene un estilo un poco peculiar, voy a subir el sitio y te paso el link!
Muchas gracias
Kobe System
Estaba viendo lo que hace la
Estaba viendo lo que hace la libreria, y lo que hace es esconder todos los elementos del form, crear links y divs y cosas asi y hacerlas ver como si fueran elementos de form y luego de los eventos en estos actualiza los elementos del form.
Tiene sentido que de conflictos con intentar convertir un form en ajax.
Pongalo publico haber si le puedo ayudar rapidamente, pero si no, otra opcion seria realmente hacer el trabajo manual, ya sea usando la libreria y arreglando el problema de conflicto o no usando la libreria y manualmente arreglar los comboboxes con un enfoque similar, pero hecho por usted.
Saludos,
Nestor Mata
http://nestor.profesional.co.cr/es
AJAX Forms API
Saludos MauHG,
No se muy bien cual es tu problema, pero tal vez este link:
http://drupal.org/node/752056
y el modulo Examples
http://api.drupal.org/api/examples/examples.module/group/examples
Hoy en la Drupaleada estare dando una introduccion basica a este tema y al manejo de JS en Drupal 7. A lo mejor y te sirve de punto de partida.
Saludos!
Sin Drupaleada
Lastimosamente me perdi esta drupaleada, no tendras por ahi la exposicion q dio?
Tuanis
Kobe System
Examples module
Mae si la tengo, pero en el ppt no hay mucho acerca del tema, lo que hice fue explicar un ejemplo de AJAX forms que viene en este modulo:
http://drupal.org/project/examples
Aca en esta pagina hay una explicacion de uno de los forms
http://drupal.org/node/752056
Hechales una ojeada y cualquier cosa lo vamos viendo por aca.
Pv.