Como todo elemento en un documento HTML tiene sus eventos y también eventos especiales para cada elementos en el caso de controles de formularios, veamos un serie de ejemplos.
Crearemos un formulario con todos los eventos asociados a los controles del formulario por ejemplo:
Veamos el código del ejemplo:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Mi titulo</title>
</head>
<body>
<!-- los eventos del raton sobre el elemento div -->
<div style="width: 300px; height: 300px; background-color: blue;" onclick="alert('Has presionado click')" ondblclick="alert('Has presionado doble click');" onmousedown="alert('se presiono un click')" onmouseup="alert('se dejo de presionar el click')" onmousemove="alert('se mueve el puntero sobre esta zona')" onmouseover="alert('Cursor encima del elemento')" onmouseout="alert('cursos sale del elemennto')">
</div>
</body>
</html>
Veamos en un formulario y sus controles como actúan los eventos.
Aquí un programa cuando entra el foco en el campo de texto y sale del foco, también cuando cambia de valor, y detecta el valor de la tecla presionada en código ASCCI.
<!DOCTYPE>
<html lan="es">
<head>
<meta charset="UTF-8">
<title>Mi titulo</title>
<script type="text/javascript">
function presionaTecla(e) {
// TENER EN CUENTA QUE PRIMERO SE EJECUTA EL EVENTO ONSUBMIT DEL FORM Y LUEGO EL ONCLICK DEL BOTÓN
// aquí muestra en código ASCII la tecla presionada
//alert(e.keyCode);
// verificia si se presiono la tecla Alrt
if (e.ctrlKey) {
alert("se presiono el Alt");
}
}
</script>
<body>
<form id="form1" name="form1" method="post" action="" onsubmit="alert('enviando formulario')" onreset="">
<label for="nombre">Ingrese Nombre:</label>
<input type="text" id="nombre" name="nombre" onkeydown="" onkeyup="presionaTecla(event)" onkeypress="" onfocus="aler('toma el foco el control')" onblur="alert('sale del foco el formulario')" onchange="alert('cambio el valor del campo de texto')" />
<input type="submit" id="boton" name="boton" value="Enviar">
</form>
</body>
</html>
Veamos a ver cómo cancelar las acciones de un hipervinculo.
Veamos el código de ejemplo:
<!DOCTYPE>
<html lan="es">
<head>
<meta charset="UTF-8">
<title>Mi titulo</title>
<script type="text/javascript">
function preguntar() {
// tener en cuenta que primero se ejecuta el evento onclick y luego la accion del enlace
var respuesta = confirm("¿Deseas ir al sitio Google?");
return respuesta;
}
</script>
<body>
<a href="http://www.google.com.pe" onclick="return preguntar()">Click para ir a Google</a>
</body>
</html>
Por último a todo lo repasado a los eventos
Vamos a confeccionar un programa que tenga tres botones que indica el color del fondo de la página.
<!DOCTYPE>
<html lan="es">
<head>
<meta charset="UTF-8">
<title>Mi titulo</title>
<script type="text/javascript">
function cambiarColor(valor) {
// accedemos al elemento del body por su indentificador y cambios su valor
document.getElementById('cuerpo').style.backgroundColor = valor;
}
</script>
<body id="cuerpo">
<h2>Titulo de la pagina</h2>
<input type="button" value="Azul" onclick="cambiarColor('blue')" />
<input type="button" value="Verde" onclick="cambiarColor('green')" />
<input type="button" value="Rojo" onclick="cambiarColor('red')" />
</body>
</html>
Y así de simple es el uso de eventos en los controles y formularios.
nota
Agregue un comentario