Mostrando entradas con la etiqueta javascript. Mostrar todas las entradas
Mostrando entradas con la etiqueta javascript. Mostrar todas las entradas

miércoles, 15 de mayo de 2013

Reseteando formularios con inputs file

Ayer ocurrió lo impensable, el código js de una aplicación web no era compatible con internet explorer... ¿cómo?... ¿por qué?... si eso nunca me había pasado, es la primera vez...

Así que me puse a buscar por internet y encontré la inspiración y explicación en este post.

En la aplicación estamos usando Foundation, y mi problema en concreto era que tras hacer ajaxSubmit en un formulario con inputs, que estaba dentro de un modal (reveal), el modal se cerraba impidiendo volver a usarlo.

Tal como indican en el enlace, la solución fue fácil, clonar el formulario tras el success de la petición ajax:

if($.browser.msie || $.browser.webkit){
  $('#idForm').after($('#idForm').clone(true)).remove();  
}

Lo difícil fue encontrar dicho post :D , que perdí varias horas probando soluciones alternativas.

Saludos.

jueves, 6 de diciembre de 2012

json.parse: bad control character in string literal

Hoy haciendo una aplicación con ajax el navegador me ha dado un error "json.parse: bad control character in string literal".
Imagen de error con el firebug

El error lo daba la llamada
json = $.parseJSON(string);
El problema era que yo estaba generando un objeto json desde java dentro de una stringbuilder, y una cadena contenía el carácter retorno de carro "\n". Buscando por internet encontré cientos de post que comentaban el problema y hacían perder el tiempo, pues daban soluciones que no funcionaban. En este en concreto se habla del api de json y se especifica que otros caracteres pueden fallar. Al final la solución era crear un objeto json desde java. Este es el trozo de código final en la jsp que llama el js.
Map obj = new HashMap();
obj.put("id", new Long(id_mensaje));
obj.put("cuerpo",mensaje.getCuerpo());
obj.put("fechaRecibido",MensajesUtil.formatDate(mensaje.getFechaEnvio()));
obj.put("usuarioOrigen",MensajesUtil.getName(mensaje.getUsuarioOrigen(), cms));
obj.put("usuarioOrigenId",mensaje.getUsuarioOrigen());
String jsonText = org.json.simple.JSONValue.toJSONString(obj);
out.println(jsonText);
Saludos.

miércoles, 3 de octubre de 2012

PrettyPhoto, clon de lightbox con jQuery

Efecto PrettyPhoto

Aunque desde hace tiempo uso lightbox para efectos de visualización de fotografía, me ha empezado a dar problemas de incompatibilidades con otros js. Cansado de ajustar el js, decidí buscar una nueva opción en la red que se integre bien con mis aplicaciones.


PrettyPhoto es un js GPLv2 que cubre las mismas funcionalidades de lightbox, pero además permite embeber vídeos, iframes, etc.
La última versión estable se puede descargar desde aquí.


Su uso no podría ser más sencillo, simplemente hay que incluir los js y el css en el head:


 

Y poner en los enlaces:

rel="prettyPhoto"
Se pueden ver distintos ejemplos de uso en su web.
Related Posts Plugin for WordPress, Blogger...