Lamento no haber escrito todas estas semanas pero he tenido tanto trabajo como un toro en epoca de cruza… jajaja… aunque lo que estaba haciendo no era tan divertido como lo debio ser para el toro…
En fin… hay tantas cosas que tengo que escribir que comenzare con la primera…
Hace poco comence a usar la libreria de script.aculo.us para un pato sistema y debo de decir que la experiencia fue buena, y aun más que excelente cuando use el control de Ajax.InPlaceCollectionEditor para cambiar un dato de manera cuca en el sistema…
Dicho control funcionaba de perlas en las demostraciones y juntas que teniamos para analizar el sistema, hasta que se puso en demo-producción y uno de nuestros amados usuarios abrio el sistema en Internet Explorer Version 7 (inmensa porqueria de ·$%$&%$& ) y zas marrano!!!! pues el que el dichoso control de Ajax.InPlaceCollectionEditor simplemente no funcionó… y peor aun, el IE mandaba su típico error de “existen problemas con la pagina actual…” lo cual debo decir, me enfada bastante, por que los problemas no son “de la pagina” si no del jodido navegador pinche y feo que interpreta como quiere los codigos javascript (y no se digan los CSS… no por nada sale hecho una mierda en la prueba ACID)
¿La solución?-… Cielos.. q debate…
” – quitamos el control Ajax…” ,
” – nos hacemos mensos y si preguntan, nos seguimos haciendo mensos”,
” – ponemos un aviso de ‘Este sistema solo puede usarse con navegadores buenos como Firefox, Safari, Opera…..’ “
Mil ideas revoloteaban por mi cabeza… hasta que, siguiendo mi ideologia de “el usuario no debe pagar los platos rotos…(aunque use el IE)” decidí buscar la forma de usar el control Ajax.InPlaceCollectionEdito de script.aculo.us en IE…. rascando aqui y rascando allá encontre que en el archivo controls.js de la libreria en la funcion createEditField hay que sustituir la linea
var list = document.createElement(’select’);
por
var list = new Element(’select’);
asi que la funcion original dice:
createEditField: function() {
var list = document.createElement(’select’);
list.name = this.options.paramName;
list.size = 1;
this._controls.editor = list;
this._collection = this.options.collection || [];
if (this.options.loadCollectionURL)
this.loadCollection();
else
this.checkForExternalText();
this._form.appendChild(this._controls.editor);
}
La funcion final debe decir
createEditField: function() {
var list = new Element(’select’);
list.name = this.options.paramName;
list.size = 1;
this._controls.editor = list;
this._collection = this.options.collection || [];
if (this.options.loadCollectionURL)
this.loadCollection();
else
this.checkForExternalText();
this._form.appendChild(this._controls.editor);
}
Y listo… todos felices y contentos… al menos por el momento… seremos felices cuando la gente de usar el IE…
Saludos a todos por aca… y por allá también

