Artículos
Javascript

Crear eventos con JavaScript

Creado: 29/Sep/2007 Actualizado: 21/May/2015

Cuando estamos diseñando nuestra página HTML podemos apoyarnos en el modelo de eventos para poder gestionar la interacción con el usuario. Controlar cuando pulse sobre un sitio, cuando pase por un elemento, al entrar/salir sobre zonas,…

Así tendremos líneas de código como la siguiente:

En ella estamos diciendo que cuando haya un click, evento onClick, se ejecute el método «mifuncion».

De esta forma podemos codificar muchos más eventos onbur, onchange, onfocus, onkeydown,…

Pero mediante JavaScript, podemos modificar «en caliente» la gestión de eventos de los elementos de la página y así crear un evento y asociarselo a un elemento de la página.

En nuestro caso vamos a tener una lista de textos. Lo que vamos a hacer es asociarles un evento onClick. De tal manera, que cuando se produzca dicho evento, mostraran el contenido del texto.

Lo primero es crear la lista de elementos:

  • Avila
  • Salamanca
  • Zamora
  • León
  • Soria
  • Valladolid
  • Burgos
  • Segovia
  • Palencia

Ahora, ejecutaremos el código JavaScript para añadir un evento a cada uno de los elementos.
En dicho código diferenciaremos dos partes. La primera lo que hace es recuperar una referencia a la lista y recorrer todos los elementos que la contienen. Por cada elemento llamaremos al método crearEvento, el cual veremos en detalle más adelante.

Para poder acceder a la lista nos apoyaremos en los métodos .getElementById, que nos posiciona en un elemento y en .getElementsByTagName, que nos devuelve una lista de elementos dada una etiqueta. En nuestro caso la etiqueta li.

El código JavaScript será el siguiente:

// Obtenemos los elementos DIV a los que queremos añadir nuestro evento onclick
var elementos = document.getElementById("frases").getElementsByTagName("li");
// Recorremos todos los elementos
for (var i=0; i<elementos.length; i++) {
      // Añadimos el evento onclick al div
      crearEvento(elementos[i], "click", function(){
            // Hacemos que muestre el contenido del DIV
           alert(this.innerHTML);
      });
}

Como vemos por cada elemento llamamos a la función crearEvento, pasándole el elemento, el evento a crear y la función a asociarle.

Para crear un evento sobre un elemento tenemos el método .addEventListener. Esta es la función utilizada por el DOM. Pero para el caso del Internet Explorer deberemos de utilizar el método .attachEvent. Ambos métodos los ejecutaremos sobre el elemento.

Hay que indicar que para .addEventListener el nombre del evento será sin anteponerle el «on», mientras que para .attachEvent si que le antepondremos el «on».

De esta forma, la función JavaScript para crear un evento sobre un método quedará de la siguiente forma:

function crearEvento(elemento, evento, funcion) {
      if (elemento.addEventListener) {
            elemento.addEventListener(evento, funcion, false);
      } else {
            elemento.attachEvent("on" + evento, funcion);
      }
}

Código Fuente

Descárgate el código fuente de Crear eventos con JavaScript
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Artículos
Javascript

Obtener información de la URL

Creado: 28/Sep/2007 Actualizado: 21/May/2015

Como vimos en el artículo «Obtener la URL del documento con JavaScript» mediante la propiedad document.URL podemos obtener la URL asociada a un documento. Esto mismo podemos hacerlo mediante la propiedad document.location.

De hecho, la propiedad document.location.href viene a ser sustituida por document.URL

Si bien, document.location nos proporciona más información. Dentro de esta información encontramos:

  • hostname, nombre del host. Es el nombre más el dominio. En nuestro caso lineadecodigo.com
  • protocol, el protocolo que estamos utilizando: http, https,…
  • host, igual que hostname.
  • port, protocolo de acceso. Si se especifica. Por ejemplo, para el caso de http, podemos utilizar el 80.
  • pathname, directorio que alberga la página. Es lo que va después del hostname.
  • href, es la URL entera. Como dijimos arriba, es sustituido por document.URL.

Mediante código JavaScript podemos obtener la información de estas propiedades. El código sería el siguiente:

document.writeln("HostName: " + document.location.hostname + "
"); document.writeln("Protocol: " + document.location.protocol + "
"); document.writeln("Host: " + document.location.host + "
"); document.writeln("Port: " + document.location.port + "
"); document.writeln("PathName: " + document.location.pathname + "
"); document.writeln("Href: " + document.location.href + "
");

Un ejemplo de resultado, de la URL https://lineadecodigo.com:80/prueba/obtener-informacion-de-la-url.html, sería el siguiente:

HostName: lineadecodigo.com
Protocol: http:
Host: lineadecodigo.com
Port: 80
PathName: /prueba/obtener-informacion-de-la-url.html
Href: https://lineadecodigo.com/prueba/obtener-informacion-de-la-url.html

Código Fuente

Descárgate el código fuente de Obtener información de la URL
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Artículos
Javascript

Eliminar elementos de una página con JavaScript

Creado: 26/Sep/2007 Actualizado: 21/May/2015

Una de las cosas que podemos hacer vía JavaScript es modificar el DOM de elementos de una página HTML. Bien insertando, actualizandolos o eliminandolos.

En este caso lo que vamos a realizar es eliminar un elemento de la página, vía ID. En concreto eliminaremos imágenes.

Es por ello que lo primero que vamos a realizar es insertar un conjunto de imágenes en la página. Importante que asociemos un ID a cada una de las imágenes.





Lo siguiente será insertar un formulario. En el, pediremos al usuario el ID que quiere eliminar. Para facilitar hemos dado un id que corresponda con el nombre de la imagen que corresponde. Facilitando la vida al usuario…

Al pulsar el botón, evento onClick, llamaremos a la función JavaScript eliminarElemento(id) y le pasaremos el texto que haya introduccido el usuario.

Lo realmente importante es lo que va dentro de la función. Los pasos JavaScript para eliminar el ID serán los siguientes:

  • Obtener el elemento al que representa el ID. Mediante el método .getElementById()
  • Validar si el elemento existe. Ya que si no existe habrá que avisar al usuario.
  • Obtener el nodo padre del elemento. Para ello utilizamos el atributo .parentNode
  • Desde el padre del elemento, invocar el método removeChild(elemento). Dicha función eliminará el elemento.

El código JavaScript será el siguiente:

function eliminarElemento(id){
	imagen = document.getElementById(id);	
	if (!imagen){
		alert("El elemento selecionado no existe");
	} else {
		padre = imagen.parentNode;
		padre.removeChild(imagen);
	}
}

Código Fuente

Descárgate el código fuente de Eliminar elementos de una página con JavaScript
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Javascript

Disfruta también de nuestros artículos sobre Javascript en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Javascript

¿Te atreves a probar tus habilidades y conocimiento en Javascript con nuestro test?

Test Javascript
Artículos
Accesibilidad Web,Eventos

Premios TAW 2007

Creado: 25/Sep/2007 Actualizado: 25/Ago/2021

La Fundación CTIC (Centro Tecnológico de la Información y la Comunicación), el Gobierno del Principado de Asturias y el Ministerio de Industria, Turismo y Comercio convocan la tercera edición de los premios TAW de accesibilidad web.

En ellos se premia a empresas, entidades sin ánimo de lucro, administraciones públicas,… que estén siguiendo los estándares de accesibilidad de la W3C contribuyendo a construir una web más accesible.

Los premios se dividen en 2 áreas y en 6 categorías:

Área Publica – para las administraciones

  • Web Pública Más Accesible I (ámbito estatal, autonómico o provincial)
  • Web Pública Más Accesible II (ámbito local)

Área Privada – para empresas

  • Web Empresarial Más Accesible I (empresas de más de 50 trabajadores)
  • Web Empresarial Más Accesible II (empresas de menos de 50 trabajadores)

Otras dos categorías serían:

  • Web de Entidades Sin Ánimo de Lucro
  • Mejor Proyecto en Accesibilidad Web

Se puede rellenar el formulario de inscripción hasta el 14 de Octubre.

Vía: Accesibilidad, Usabilidad y Estandares Web

Artículos
Java

Saber si un número es capicúa con Java

Creado: 24/Sep/2007 Actualizado: 01/Jun/2015

Un número capicúa es aquél que se lee igual de izquierda a derecha, que de derecha a izquierda. Por ejemplo 22,101, 202, 343, 3443, 12233221,…

Una de las formas de saber si un número es capicúa es pasándolo a una cadena y utilizando el código para detectar si la palabra es un palindromo. Para ello puedes leerte el artículo «Saber si una palabra es un palindromo con Java».

Pero es este caso vamos ha realizarlo mediante operaciones matemáticas. La idea es muy sencilla. Tomaremos el número inicial, le daremos la vuelta y comprobaremos que siguen siendo iguales. En este caso tendremos un número capicúa.

Lo primero será definir nuestro número. Para ello podemos utilizar cualquier tipo de dato nativo: int, double, long,… En nuestro ejemplo vamos a utilizar un long.

long numero = 544333234432333445L;
long falta,numeroInvertido,resto;

Además del número necesitamos otras variables, numero Invertido que almacenará el número dado la vuelta, resto, donde dejaremos los restos de las divisiones y falta, que es la variable con los números que faltan para dar la vuelta.

Inicializamos estas tres variables a 0

while(numero<=0);
  falta=numero;
  numeroInvertido=0;
  resto=0;

Los pasos que hay que dar son los siguientes:

1. Para obtener el último dígito del número lo haremos con el resto de una división entre diez. Es decir, si de 4224 queremos obtener el último dígito haremos la siguiente operación:

4224%10 = 4

En código Java será:

resto=falta%10;

Falta tiene el número del que vamos substrayendo dígitos.

2. Del número original hay que quitarle el último dígito. En este caso utilizamos la división entre 10.

4224/10=422

En código Java será:

falta=falta/10;

3. Habrá que guardar el número substraído. Para ello simplemente lo sumaremos al número que tengamos, multiplicado por 10. En el primer caso lo haremos sobre el 0. Las secuencias para el número 4224 será:

0*10+4=4
4*10+2=42
42*10+2=422
422*10+4=4224

En código Java:

numeroInvertido=numeroInvertido*10+resto;

Todo esto lo repetiremos mientras tengamos algo por analizar. El bucle entero sería el siguiente:

while(falta!=0)
{
 resto=falta%10;
 numeroInvertido=numeroInvertido*10+resto;
 falta=falta/10;
}

Solo nos quedará comprobar si el número original y el invertido son iguales:

if(numeroInvertido==numero)
 System.out.println("\nEl numero es capicua\n");
else
 System.out.println("\nEl numero no es capicua\n");

Código Fuente

Descárgate el código fuente de Saber si un número es capicúa con Java
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Java

Saber si una palabra es un palíndromo con Java

Creado: 19/Sep/2007 Actualizado: 01/Jun/2015

Uno de los primeros programas que recuerdo resolver en la Universidad, cuando estudiaba informática, es el saber si una palabra es un palíndromo.

Palíndromo, 1. m. Palabra o frase que se lee igual de izquierda a derecha, que de derecha a izquierda; p. ej., anilina; dábale arroz a la zorra el abad.

Mediante el lenguaje Java unas pocas líneas de código nos ayudarán a resolver el problema. La idea general es ir recorriendo la palabra desde izquierda a derecha, incrementando carácter a carácter y a la misma vez ir recorriendo la palabra de derecha a izquierda, decrementando los caracteres.

En cada incremento/decremento compararemos los valores de los caracteres. Si son iguales, la palabra podrá ser un palíndromo, en cuanto tengamos dos valores distintos, la palabra ya no será un palíndromo.

Pero veámoslo con código. Lo primero será definir la palabra y las posiciones inicio y fin.

int inc = 0;
int des = sPalabra.length()-1;
boolean bError = false;

Además hemos declarado una variable que actuará en forma de guarda, por lo que inicialmente consideramos que no hemos encontrado incongruencias en la palabra.

Hay que fijarse que la posición inicial será 0 y la final, el ultimo carácter. Este valor lo conseguimos restandole 1 al tamaño de la cadena.

Ahora el bucle. Tenemos que iterar por la cadena mientras los contadores no se crucen y mientras no hayamos encontrado ningún error. De esta manera, el código del bucle quedará de la siguiente forma:

while ((inc<des) && (!bError)){...}

Y dentro del bucle la validación de caracteres. Todo el código sería:

while ((inc<des) && (!bError)){
			
	if (sPalabra.charAt(inc)==sPalabra.charAt(des)){				
		inc++;
		des--;
	} else {
		bError = true;
	}
}

Vemos, que si algún par de caracteres no coinciden, entonces se cambia el valor de la variable de guarda, lo que hará que nos salgamos del bucle inmediatamente.

Una vez que hayamos salido del bucle, la variable de guarda nos dirá si la palabra es un palíndromo. Esto es si sigue con el valor inicial, es decir false.

if (!bError)
	System.out.println(sPalabra + " es un PALINDROMO");
else
	System.out.println(sPalabra + " NO es un palindromo");

Código Fuente

Descárgate el código fuente de Saber si una palabra es un palíndromo con Java
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Artículos
Eventos

BEA World 2007

Creado: 18/Sep/2007 Actualizado: 06/Feb/2025

Entre los próximos días 2 y 4 de octubre se celebra en Barcelona el BEA World 2007.

Esta es su versión europea, ya que en septiembre se celebró en San Francisco y en diciembre se celebrará en Shanghai.

El congreso hace foco principalmente en la tecnología SOA y la gama de productos de BEA que dan soporte a dicha tecnología. Entre las sesiones encontramos:

  • Introduction to Event-Driven SOA
  • SOA Governance for Architects
  • SOA for B2B – Business Integration Beyond the Bounds

También se tratarán temas sobre tecnologías de presentación y la Web 2.0. En este caso tenemos:

  • BEA Portal Solutions Roadmap
  • Bringing Web 2.0 to the Enterprise
  • AJAX Basics and Tools
  • Using Portals for Rich User Interaction

Es una buena oportunidad para conocer casos de éxito de empresas de diferente índole (T-Mobile, British Airways, Red Eléctrica, Viajes Marsans,…), en los campos de SOA y la Web 2.0

Los precios de las conferencias rondan entre los 275€ y los 300€. Workshops y la exposición es aparte.

Puedes recabar más información en la web del evento BEA World 2007.

Artículos
Java

Múltiplo de un número en Java

Creado: 17/Sep/2007 Actualizado: 01/Jun/2015

Los múltiplos de un número son los número resultado de multiplicar dicho número por la secuencia de números enteros.

Así, los múltiplos del número 2 serían 2,4,6,8,10,12,… los múltiplos del 3 serían 3,6,9,12,15,…

Para conocer si un número es múltiplo de otro, tendremos que ejecutar una división entre los dos y que el resto sea 0 (o que el cociente sea un número entero).

En este caso, si queremos saber si 21 es múltiplo de 3, dividiremos uno entre otro viendo que el cociente es 7 (número entero) y el resto es 0. Por lo tanto podemos concluir que 21 es múltiplo de 3.

Si queremos expresar esto mediante lenguaje Java podemos apoyarnos en el operador módulo (%), el cual nos devuelve el valor del resto de la división.

int resto;
int numero1 = 21;
int numero2 = 3;

resto = numero1%numero2;

if (resto==0)
  System.out.println(numero1 + " es múltiplo de " + numero2);
else
  System.out.println(numero1 + " NO es múltiplo de " + numero2);

Este código Java lo podemos hacer más genérico si lo encapsulamos dentro de un método. El código sería el siguiente:

public static boolean esMultiplo(int n1,int n2){
	if (n1%n2==0)
		return true;
	else
		return false;
}

Apoyándonos en este método podemos calcular todos los múltiplos de un número. Para ello bastará con recorrer desde el 1 hasta el número todos los valores, utilizando un bucle, y en cada iteracción llamaremos al método esMultiplo.

Nos quedará el siguiente código…

// Listar los multiplos de un número
// Multiplos de 240
int multiplo = 240;
System.out.print("Los multiplos de " + multiplo + " son");
for (int x=1;x<multiplo;x++){
	if (esMultiplo(multiplo,x)){
		System.out.print(" " + x);
	}
}

Este código no es el más óptimo, pero totalmente válido a fines didácticos.

Código Fuente

Descárgate el código fuente de Múltiplo de un número en Java
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
wForms

wForms y campos de formulario numéricos

Creado: 12/Sep/2007 Actualizado: 16/Dic/2025

A nadie le gustaría que si al crear un formulario HTML con un campo numérico alguien pusiese letras dentro. Mediante wForms podemos validar que el campo es numérico de forma sencilla.

Simplemente tendremos que cargar el framework wForms y utilizar la clase «validate-integer» dentro del campo de texto.

La línea de código sería la siguiente:

<label for="entero">Numero Entero:</label><input id="entero" type="text" class="validate-integer"><br>

Si bien, esta validación solo nos hará la validación sobre números enteros. En el caso de querer extender la validación a números decimales deberemos de utilizar la clase «validate-float». En este caso nuestro código será:

<label for="decimal">Numero decimal:</label><input id="decimal" type="text" class="validate-float"><br>

Lo último que tenemos que saber es como modificar el texto de error. Esto lo podemos hacer mediante las variables JavaScript wFORMS.behaviors[‘validation’].errMsg_integer y wFORMS.behaviors[‘validation’].errMsg_float.

wFORMS.behaviors['validation'].errMsg_integer = "El texto introducido tiene que ser un número entero";
wFORMS.behaviors['validation'].errMsg_float = "El texto introducido tiene que ser un número decimal. Por ejemplo: 9,5";

Visualizar el ejemplo | Descargar el código