Programando o Intentándolo

19 Jun 2017

Control de eventos con jQuery para elementos HTML generados dinámicamente

Cuando el contenido de la página es estático es muy sencillo capturar los eventos con jQuery, ya sea por su id, por clase o de cualquier otra forma que podamos identificar los elementos para los que se quieren añadir eventos pero cuando se crea un nuevo elemento dinámicamente llega el “problema” porque los handlers (controladores, manejadores o como los quieras llamar) de jQuery solo capturan los eventos de los elementos que se crearon antes de que se crease el handler y por este motivo se suelen declarar en el $(document).ready() justo después de que este cargado todo el contenido de la página.

[crayon-594c881c25c33046517904/]

Desasociar y volver a asociar los eventos

La primera idea para solucionarlo puede ser crear un nuevo handler cada vez que se crea el nuevo elemento pero la vamos a descartar porque estar creando y eliminando handlers es ineficiente y no podemos olvidar que antes de crear ...

7 Jun 2017

Estilos CSS para imprimir @media print

¿Pero se imprimen las páginas web? Pues sí, aunque es un punto que se suele pasar por alto cuando se diseña una web, por ejemplo la plantilla que he utilizado de base para este blog no tenía definido ningún estilo especial para la impresión y cuando la adapte como a mí me pareció pues ni se me paso por la cabeza que debía de poner unos estilos para cuando alguien quiera imprimir algún artículo, y hace unos días recibí un comentario justo sobre el tema de la impresión, así que aprovecho para contar como se puede hacer y de paso dejo lista la web para poder imprimir sin gastar litros de tinta.

Al menos hay que tener en cuenta lo siguiente cuando se define un estilo para imprimir:

Eliminar todo el contenido irrelevante para lo que estas imprimiendo como menús, barras laterales, anuncios, artículos relacionados, comentarios, videos, … Evitar los ...
5 Jun 2017

Buscar registros repetidos en SQL

La necesidad de contar o buscar registros repetidos o duplicados en SQL es relativamente frecuente ya sea para eliminarlos o simplemente para conocer el número de veces que se repiten ciertos valores.

Para ver los distintos ejemplos sobre la búsqueda de elementos repetidos vamos a usar una tabla sencilla de usuarios.

[crayon-594c881c27fbe836070720/]

Buscar repetidos en 1 columna en SQL

Para obtener los registros repetidos la consulta SQL que debemos a hacer es la siguiente:

[crayon-594c881c27fc9098569300/]

Es decir, lo que necesitamos es agrupar los registros por el valor para el que queremos buscar los repetidos y con HAVING COUNT(*)>1 obtendremos todos los valores que estén al menos repetidos una vez.

Para saber además de los registros repetidos la cantidad de veces que se repite cada uno simplemente hay que añadir el contador al resultado de la consulta

[crayon-594c881c27fce562805769/]

Y usando una subconsulta con los registros repetidos podemos saber el número ...

25 Mar 2017

Variables y nuevos tipos de objetos JavaScript 6

Como es un lenguaje no tipado en javaScript las variables pueden almacenar cualquier tipo de objeto y por este motivo todas las variables se declaraban de la misma forma, usando var o simplemente poniendo el nombre de la variable sin más, hasta la la versión 6 de javaScript (ECMAScript v6) en la que se han introducido las constantes y las variables de bloque.

También se han incluido nuevos tipos de objetos interesantes como mapas Map y conjuntos Set y la no menos interesante nueva forma para intercalar variables dentro de cadenas de texto.

“Tipos” de variables

En realidad más correcto que tipos de variables sería hablar de ámbito de las variables por que los tipos que hay lo que diferencian es el ámbito en el que serán visibles, con excepción de las constantes que en realidad sí que serían un tipo, o más bien lo contrario a una variable.

Variables ...
11 Jul 2016

Convertir XML a JSON con javaScript

Desde el punto de vista del intercambio de datos JSON es una alternativa mejor al XML o al menos para la mayoria de los casos ya que un JSON es más legible, su conversión es mas simple (sobre todo en javaScript que no hay que hacer nada 😉 (JSON, acrónimo de JavaScript Object Notation)) y también ocupa menos espacio.

A pesar de todo sigue habiendo servicios web antiguos que usan XML y como es un proceso tedioso usarlo sobretodo cuando sabes que con JSON no hay que hacer nada, pues mejor hacer una vez una función que haga el trabajo sucio y convierta el xml a json.

Y la función es esta:

[crayon-594c881c29105819918676/]

Poco más de 50 lineas para convertir una respuesta XML en un objeto javaScript o lo que viene a ser lo mismo en un JSON.

Pese a ser una función recursiva y ...