Para todos los desarolladores que esteis trabajando con las librerias de Mootools 1.2 beta 2 (incluida la versión compatible con 1.1), podeis observar que algunas funciones y métodos pierden su funcionalidad. Una de ellas es la función Element.send (de la clase Ajax.js) que me ha hecho perder algo más de una hora laboral.
En la versión estable de Mootools (actualmente v1.1), el código Javascript para el ejemplo de Ajax.Form, seria el siguiente:
<script type="text/javascript">
window.addEvent('domready', function(){
$('myForm').addEvent('submit', function(e) {
/**
* Prevent the submit event
*/
new Event(e).stop();
/**
* This empties the log and shows the spinning indicator
*/
var log = $('log_res').empty().addClass('ajax-loading');
/**
* send takes care of encoding and returns the Ajax instance.
* onComplete removes the spinner from the log.
*/
this.send({
update: log,
onComplete: function() {
log.removeClass('ajax-loading');
}
});
});
});
</script>
Pero si probamos el código de arriba con las librerias beta veremos que no funciona y existen errores. Buscando por los Foros de Mootools di con la solució. El usuario Cost publicó el siguiente código (que funciona):
<script type="text/javascript">
window.addEvent('domready', function(){
$('myForm').addEvent('submit', function(e) {
/**
* Prevent the submit event
*/
new Event(e).stop();
/**
* This empties the log and shows the spinning indicator
*/
var log = $('log_res').empty().addClass('ajax-loading');
var sender = new Request();
sender.onSuccess = function(responseText, responseXML){
log.set('html', responseText);
log.removeClass('ajax-loading');
};
sender.send({data: this, url: this.get('action')});
});
});
</script>
Más información (en ingles): form.send() problem in 1.2beta2

julio 8th, 2008 at 19:24
Muy muy util ;)
octubre 2nd, 2009 at 12:28
Muchas gracias ;) Parece que no actualizan las demos hace bastante, ya habÃa acotado el problema a “send” y no sabÃa realmente lo que estaba pasando, intentando actualizar incluso a la última versión 1.2.3