Ir al contenido
  1. Tags/

JavaScript

2016


JavaScript tips & tricks | Imprimir un elemento específico del DOM

·210 palabras·1 min

poster-wide

En determinadas ocasiones, puede ser necesario imprimir el contenido de un determinado bloque de un sitio web, por ejemplo, en caso de un código que necesite ser guardado, los datos de una reserva, etc. En esos casos, podemos hacer uso de JavaScript y, con un sencillo código que os muestro a continuación.

function printDOM(elementId) {
var contentToPrint = document.getElementById(elementId).innerHTML;
var page = document.body.innerHTML;
document.body.innerHTML = contentToPrint;
window.print();
document.body.innerHTML = page;
}

Como podéis observar, el truco consiste en guardar en una variable el contenido que queremos imprimir y en otra variable el contenido original de la página. Seguidamente, reemplazamos el contenido de la página por el que queremos imprimir y ejecutamos la impresión mediante window.print(). Finalmente, volvemos a establecer el contenido de la página por el original.

2015


Error con jQuery UI datepicker dentro de formulario en Safari

·339 palabras·2 mins

Escenario

Hace algunos días me encontré con un problema en Safari al establecer fechas con un datepicker de Metro UI que es el mismo que el que corresponde a jQuery UI datepicker. El problema se producía al seleccionar una fecha que, al realizarse la validación con jQuery.validation decía que era incorrecta al contrario que en el resto de navegadores (Internet Explorer, Microsoft Edge, Google Chrome*, Firefox y Opera). Además, parece que el error se reproducía en Google Chrome para Mac lo que hacía más complicado determinar cuál es el problema. Como se puede apreciar en la imagen, tiene problemas al establecer fechas predefinidas como en el campo «inicio» en el que he puesto la fecha actual (tanto desde el modelo como con JavaScript) y, en el campo «Vencimiento» la fecha seleccionada con el datepicker genera un error de validación «incomprensible»

ASP.NET MVC | Cómo enviar modelo con JavaScript desde un formulario a una acción

·658 palabras·4 mins

Escenario

Supongamos que tenemos un formulario en una vista de una aplicación web realizada con ASP.MVC y necesitamos enviar los datos, que corresponden a un modelo de la aplicación, a nuestra acción del controlador. ¿Cómo realizamos esta tarea? Seguro que se nos ocurren ideas «liosas» para realizar esta operación pero generalmente optamos por lo más obvio que, además, no es óptimo ni flexible o no aprovechamos las facilidades que nos ofrece el ModelBinding.

SharePoint 2013 | Obtener imagen del usuario actual con JavaScript

·370 palabras·2 mins

poster

Escenario

Uno de los fuertes de SharePoint en ambientes de intranet son los perfiles de usuario que permiten no sólo mostrar información importante de un usuario, sino también obtener datos adicionales como por ejemplo el estado en Lync. Es por ello que cuando realizamos desarrollos para SharePoint, a menudo nos encontramos con que podemos o debemos añadir información del usuario conectado en alguna zona de la página.

HTML + JavaScript | Mostrar preview de imagen o cómo mostrarlas en base64

·590 palabras·3 mins

Estos días he tenido la necesidad de trabajar con un formulario de subida de imágenes y he tenido que montar una zona para mostrar la preview de las imágenes antes de subirlas al servidor para que el usuario pueda comprobar si todo es correcto antes de completar la operación. Hace algún tiempo (algunos años) creo recordar que vi alguna respuesta del gran Pedro Hurtado en los foros de MSDN acerca de esta cuestión pero no he podido encontrar dónde lo vi. Así que lo posteo para intentar ayudar a quien se encuentre en este caso y no sepa cómo alcanzar la solución.

2014


JavaScript | Usando bPopup para levantar nuestros popups

·414 palabras·2 mins

Es muy común que en nuestras aplicaciones necesitemos abrir popups y, para ello, generalmente se suelen usar plugins JavaScript como jQuery.UI u otros que son algo más pesados de lo que realmente necesitamos. Además, normalmente, los plugins añaden estilos que no nos hacen falta y que debemos sobreescribir con gran esfuerzo para no perder el look&feel de nuestro sitio web.

¿Qué podemos hacer para evitar «problemas» sólo por intentar abrir popups?

JavaScript | Cómo Imprimir página web usando acción del navegador

·200 palabras·1 min

En este artículo os voy a mostrar un tip muy sencillo.

Escenario

Se puede dar el caso en el que algún día debáis poner una acción en algún sitio web que tenga como requisito poder imprimir el contenido sin necesidad de generar un documento formateado por ejemplo en PDF.

Solución

Para proveer esta característica, lo mejor es recurrir a JavaScript dado que es una acción de cliente y dado que los datos están ya en el navegador, no necesitamos de enviar nada al servidor. Para realizar esta acción, el código que debemos escribir no podría ser más sencillo. Voy a ilustrarlo con un ejemplo haciendo uso de un «link» que ejecute código JavaScript «unobstrusive».

2013


Cómo copiar desde un sitio web al portapapeles de forma automática

·609 palabras·3 mins

Escenario

En más de una ocasión podréis encontraros con que algún cliente decide tener un botón para copiar un texto al portapapeles (clipboard) de forma automática en un sitio web. Esta tarea se torna extremadamente fácil si estamos usando Internet Explorer puesto que dispone de esa capacidad pero, en el caso de otros navegadores como Chrome, Firefox, Opera,… debemos buscar una alternativa.

Solución

Internet Explorer

Como ya he adelantado, en Internet Explorer es muy sencillo de realizar. Tan sólo habría que usar el objeto “window.clipboardData” para realizar la tarea que deseamos.

SharePoint 2010 | Ejecutar script tras la carga de la página ¿jQuery document ready o _spBodyOnLoadFunctionNames?

·331 palabras·2 mins

Escenario:

Necesitamos ejecutar cierto código Javascript pero queremos que se haga al final de la carga de la página, por ejemplo si vamos a rellenar un input que no sabemos en qué momento estará disponible.

Solución jQuery:

Por todos es sabido a estas alturas que el problema se resolvería fácilmente haciendo uso de jQuery controlando el momento en el que la página esté “lista (ready)”, es decir:

   1: $(document).ready(function() {