Entradas con la etiqueta ‘javascript’

Comprobar si un checkbox esta seleccionado con jQuery

Jueves, 24 de Noviembre de 2011

Para comprobar si un checkbox esta seleccionado o no via jQuery es tan fácil como trabajar con los pseudo-selectores. La función que usaremos devuelve true o false.

Veamos algunos ejemplos:

$(’#ID-CHECKBOX’).is(’:checked’)
Comprueba el checkbox con el ID determinado.

$(’form input:checkbox’)
Busca todos los checkbox de dentro del formulario.

Más información
API jQuery: Checkbox selector

Bug en parseInt de Javascript

Miércoles, 14 de Julio de 2010

Estabamos haciendo unos calculos con javascript, y para transformar un string a un valor para asegurarnos que la suma la hace correctamente nos hemos encontrado en un bug un tanto curioso en la funcion parseInt().

Resulta que todo funciona correcto excepto cuando la funcion tiene un 8 o un 9 a transformar, no sabe hacerlo, y devuelve un 0.

Para solucionarlo se debe multiplicar por 1:

var valor = 9;

alert(parseInt(valor));//devuelve 0
alert(parseInt(valor*1));//devuelve 9

Un enlace sin href que no mueva ni actualice la pagina

Jueves, 24 de Septiembre de 2009

Nos interesa un enlace, que al hacerle click, ejecute una funcion javascript, pero que no mueva la pagina, ni la refresque, ni se vaya a otra.

La gracia es colocar # en el href del enlace, pero al hacerlo la pagina escrolla hasta la cabecera de la misma.

Como arreglarlo? Muy fácil, con un return false en javascript.

<a href=”#” onclick=”return false;”>
<a href=”#” onclick=”funcionJavascript();return false;”>

ThickBox: Ventanas flotantes

Viernes, 3 de Julio de 2009

ThickBox es una librería javascript que permite abrir ventanas flotantes sobre páginas HTML. Esto nos permitirá mostrar imágenes o paginas sobre una ventana emergente y sin necesidad de abrir una ventana nueva, evitando de esa forma también el Bloqueador de popup de nuestro navegador.

thickbox.gif

ThickBox, creado por Cody Lindley y que acaba de llegar a la versión 2.0 es sencilla de utilizar. Primero debes descargar los archivos necesarios para su funcionamiento:

  • jquery.js: Librería necesaria para el funcionamiento e thickbox.
  • thickbox.js: Funciones thickbox para abrir las ventanas.
  • thickbox.css: Hoja de estilos para la ventana emergente.
  • loader.gif: imagen que se mostrará mientras se carga el contenido de la ventana emergente

Entonces una vez que se tienen todos los archivos, lo siguiente es incluir las librerías, la hoja de estilos en nuestro HTML, esto se incluye antes de cerrar el tag HEAD.

  1. <script type="text/javascript" src="jquery.js"></script>
  2. <script type="text/javascript" src="thickbox.js"></script>
  3. <link rel="stylesheet" href="thickbox.css" type="text/css" />

Luego cuando se quiere insertar una pantalla flotante con una imagen, esto se hace sobre un enlace, por ejemplo si deseamos incluir un enlace para abrir una imagen:

  1. <a href=“flash9.gif” class=“thickbox” title=“Ejemplo ThickBox”>

Donde se tiene que class=”thickbox” es el que indica a las librerías thickbox que se abrirá una ventana emergente, el otro dato importante es que lo que se asigne a la propiedad title se mostrará como titulo de la ventana emergente. Resumiendo podemos decir que a cualquier enlace que tengamos en nuestra página solo es necesario aplicarlo el estilo thickbox.

Esto es para el caso de las imágenes, pero si deseamos incluir una página externa, el código cambio poco, donde tenemos que incluir el ancho y el alto de la ventana emergente en la url que se le pasará a la propiedad href, veamos el siguiente ejemplo donde abrimos la página de Google.

  1. <a
    
  2. href="http://www.google.com?TB_iframe=true&height=420&width=600"
  3. title="Google"
  4. class="thickbox">Google</a>

Se observa que el código adicional es ?TB_iframe=true&height=420&width=600, es obvio donde se pone el ancho y alto de la ventana.

Abrir multibox automaticamente al cargar pagina

Lunes, 25 de Mayo de 2009

Puede ser un caso poco común, pero hoy necesitabamos que MultiBox se lanzara automaticamente al hacer la carga de la página. Después de intentar simular un click sin éxito para este caso, la solución que he encontrado es más fácil de lo esperado.

PhatFusion ya había pensado en nosotros, y a la hora de inicializar el multibox en la página hay que agregar una nueva linea que tenga el evento open:

var box = {};
window.addEvent(’domready’, function(){
box = new MultiBox(’mb’, {descClassName: ‘multiBoxDesc’});
box.open($(’mb1′));
});

Acceso denegado en el objeto window.opener del editor wysiwyg

Jueves, 22 de Enero de 2009

Tenemos este error: Acceso denegado en el objeto window.opener

Casualmente me da un probela de privilegios al intentar acceder desde una ventana pop-up del selector de colores del editor wysiwyg. Para ver que pasaba abrí el java script wysiwyg.js

y tocar la urls:

JAVASCRIPT:
  1. /* ---------------------------------------------------------------------- *\
  2. Global Variables: Set global variables such as images directory,
  3. WYSIWYG Height, Width, and CSS Directory.
  4. \* ---------------------------------------------------------------------- */
  5.  
  6. // Images Directory
  7. imagesDir = "http://www.tudominio.com/carpeta1/openwysiwyg/icons/";
  8.  
  9. // CSS Directory
  10. cssDir = "http://www.tudominio.com/carpeta1/openwysiwyg/styles/";
  11.  
  12. // Popups Directory
  13. popupsDir = "http://www.tudominio.com/carpeta1/openwysiwyg/popups/";

Lo importante es saber que que windows opener solo puede tener acceso a ventanas abiertas del mismo dominio y que un mismo dominio diferencia entre

http://www.tudominio.com a http://tudominio.com

Asi en mi caso el problema era poner las urls sin las www. y entrar a la página con www. El problema reside en que si lo quires areglar para los dos casos es necesario hacer un javascrip que detecte el dominio para pegarlo en el codigo.

resumiendo ojo con que tu dominio entre esas urls y el de la pagina sean exactamente el mismo.

slaudos.