JavaScript - advanced - Lección nº 5
Formularios HTML con JavaScript
¿De qué trata esta lección?
En esta lección volvemos a los formularios HTML, analizamos algunas posibilidades de complementar las validaciones ya implementadas. Aprendemos sobre un nuevo elemento de formulario, la entrada del número de tipo de rango y algunos eventos nuevos que se pueden usar con los formularios.
Nuevo elemento de formulario en esta lección:
<input type="range" /> - esta etiqueta HTML se usa para agregar un elemento de entrada a su página, cuando el valor de los números realmente no cuenta, necesitamos las formas de escala.
Nueva propiedad de JavaScript en esta lección:
min – propiedad del elemento de rango, marca el valor más bajo que puede alcanzar.
max – propiedad de elemento de rango, marca el valor más alto que puede alcanzar.
step – propiedad de elemento de rango, Marca la diferencia entre los posibles valores que se pueden alcanzar.
value – esta propiedad se utiliza en caso de elementos de formulario múltiples, para obtener / configurar su contenido.
checked - esta propiedad se utiliza en lugar de la propiedad de valor para los elementos de la casilla de verificación. El valor es lógico: verdadero si está marcado y falso si no está.
Nuevos eventos en esta lección:
onfocus – este evento ocurre cuando hacemos clic o cambiamos con la pestaña a un elemento de formulario, un elemento puede tener enfoque automáticamente (propiedad de enfoque automático).
onfocusout – Este evento ocurre cuando dejamos un elemento de formulario, que tenía el enfoque previamente. Por ejemplo, un cuadro de texto después de la finalización.
onchange – este evento se activa, si se cambia el elemento. Esto es diferente del enfoque, porque los cambios pueden suceder más de una vez entre un enfoque y un evento de enfoque.
onsubmit – este evento se activa si hacemos clic en el botón enviar en un formulario. El evento se relaciona con un formulario.
Nuevo método en esta lección:
isNaN(datos a verificar) – esta función decide si el valor dado es un número, o se puede convertir en número. Devuelve verdadero para datos no numéricos y falso para datos numéricos.
Usando formularios con JavaScript:
Necesitamos agregar nombres e ids a los elementos del formulario para cambiarlos desde el código del programa. Puede haber elementos de formulario sin etiquetas de formulario. Se pueden usar con JavaScript, pero si necesitamos una etiqueta
En esta lección volvemos a los formularios HTML, analizamos algunas posibilidades de complementar las validaciones ya implementadas. Aprendemos sobre un nuevo elemento de formulario, la entrada del número de tipo de rango y algunos eventos nuevos que se pueden usar con los formularios.
Nuevo elemento de formulario en esta lección:
<input type="range" /> - esta etiqueta HTML se usa para agregar un elemento de entrada a su página, cuando el valor de los números realmente no cuenta, necesitamos las formas de escala.
Nueva propiedad de JavaScript en esta lección:
min – propiedad del elemento de rango, marca el valor más bajo que puede alcanzar.
max – propiedad de elemento de rango, marca el valor más alto que puede alcanzar.
step – propiedad de elemento de rango, Marca la diferencia entre los posibles valores que se pueden alcanzar.
value – esta propiedad se utiliza en caso de elementos de formulario múltiples, para obtener / configurar su contenido.
checked - esta propiedad se utiliza en lugar de la propiedad de valor para los elementos de la casilla de verificación. El valor es lógico: verdadero si está marcado y falso si no está.
Nuevos eventos en esta lección:
onfocus – este evento ocurre cuando hacemos clic o cambiamos con la pestaña a un elemento de formulario, un elemento puede tener enfoque automáticamente (propiedad de enfoque automático).
onfocusout – Este evento ocurre cuando dejamos un elemento de formulario, que tenía el enfoque previamente. Por ejemplo, un cuadro de texto después de la finalización.
onchange – este evento se activa, si se cambia el elemento. Esto es diferente del enfoque, porque los cambios pueden suceder más de una vez entre un enfoque y un evento de enfoque.
onsubmit – este evento se activa si hacemos clic en el botón enviar en un formulario. El evento se relaciona con un formulario.
Nuevo método en esta lección:
isNaN(datos a verificar) – esta función decide si el valor dado es un número, o se puede convertir en número. Devuelve verdadero para datos no numéricos y falso para datos numéricos.
Usando formularios con JavaScript:
Necesitamos agregar nombres e ids a los elementos del formulario para cambiarlos desde el código del programa. Puede haber elementos de formulario sin etiquetas de formulario. Se pueden usar con JavaScript, pero si necesitamos una etiqueta
Ejercicios
1. En forms.html modifica el primer formulario: si se introduce el nombre, modifica los textos del formulario. Por ejemplo, si el nombre es Mike, realiza los cambios: el estado de Mike (en lugar del estado del usuario), la calificación de Mike en nuestra página web y el trabajo soñado de Mike.
Debes asegurarte de que se pueda hacer referencia a los textos - no son exactamente elementos de formulario, por lo que debes encontrarlos por id.
Ver el resultado
Debes asegurarte de que se pueda hacer referencia a los textos - no son exactamente elementos de formulario, por lo que debes encontrarlos por id.
2. En el archivo forms.html modifica el segundo formulario: el cuadro de texto muestra un mensaje de error si se envía sin completar, los otros tres elementos del formulario tienen un valor predeterminado y no se pueden establecer vacíos (sin un valor) o con un valor fuera del intervalo definido.
Muestra un mensaje si el cuadro de texto está vacío. Hay un patrón que activará un mensaje de error si el formato es incorrecto. Podríamos usar required (obligatorio), pero usando JavaScript podemos agregar nuestro propio mensaje.
Ver el resultado
Muestra un mensaje si el cuadro de texto está vacío. Hay un patrón que activará un mensaje de error si el formato es incorrecto. Podríamos usar required (obligatorio), pero usando JavaScript podemos agregar nuestro propio mensaje.
Asegúrese de que al menos una de las casillas esté marcada. También necesitan nombres: en el caso de las casillas de verificación, estos nombres deben ser diferentes (a diferencia de los botones de opción).
Use la declaración de devolución como en el tercer ejemplo (para mantener los datos ya presentados) en esta lección y agregue un nombre al formulario.
Desencadenar un mensaje de éxito, si se cumplen todas las condiciones anteriores.
3. Modifica el archivo gallery.html: agrega un elemento de entrada de tipo de rango a la parte Imagen aleatoria, encima de la imagen. El valor de los elementos debe cambiar entre 1 y 6, por un valor de paso de 1. Si se cambia el elemento, la imagen también debe cambiar.
Ver el resultado
4. Modifica el archivo forms.html:
Usa la validación de datos (combinación de HTML y JavaScript) para asegurarte de que el cuadro de texto no esté vacío y contenga un número positivo. Uno de los botones de radio debe estar marcado (podemos marcar uno como predeterminado). Usa mensajes de error si es necesario.
Si todos los datos son correctos, calcula el precio a pagar multiplicando la cantidad de horas y el precio seleccionado. Muestra el resultado en un cuadro de alerta.
Ver el resultado
Añade un nuevo formulario para calcular los precios de las lecciones que contenga un cuadro de texto para el número de lecciones necesarias, tres botones de opción para las opciones: individual lesson (por 15 EUR), small group (10 EUR) y larger group (5 EUR). Deberíamos poder marcar solo uno. Debería haber un botón de envío también.
Usa la validación de datos (combinación de HTML y JavaScript) para asegurarte de que el cuadro de texto no esté vacío y contenga un número positivo. Uno de los botones de radio debe estar marcado (podemos marcar uno como predeterminado). Usa mensajes de error si es necesario.
Si todos los datos son correctos, calcula el precio a pagar multiplicando la cantidad de horas y el precio seleccionado. Muestra el resultado en un cuadro de alerta.
Cuestionario
1. ¿Qué afirmaciones son ciertas sobre el elemento de rango a continuación?
<input id="r_e" type="range" min="10" max="30" step="5"/>
<input id="r_e" type="range" min="10" max="30" step="5"/>
2. Si existe un formulario con el nombre f1, con un cuadro de texto con el nombre tb1, ¿cómo accedemos a su contenido?
3. ¿Cuál de los siguientes tiene como resultado el valor verdadero?
4. ¿Cuál de las siguientes posibilidades no se puede usar para garantizar que el cuadro de texto llamado tb1 de f1 no esté vacío?
Información suplementaria
Puedes leer más sobre esta lección y hacer ejercicios visitando los siguientes enlaces:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range;
https://www.w3schools.com/js/js_validation.asp;
https://www.w3schools.com/howto/howto_css_login_form.asp.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range;
https://www.w3schools.com/js/js_validation.asp;
https://www.w3schools.com/howto/howto_css_login_form.asp.