Clase 22-10-24
Clase 22-10-24
Clase 22-10-24
Los formularios son una de las partes más importantes de la web. Sin ellos, no
habría una manera fácil de recopilar datos, buscar recursos o registrarse para
recibir información valiosa.
Puede incrustar formularios en sitios web con el elemento HTML form. Dentro del
elemento de formulario, se anidan varias entradas. Estas entradas también se
conocen como controles de formulario.
La etiqueta form:
La etiqueta <form> es el elemento fundamental para crear formularios en HTML. Define
el inicio y el final de una sección (formulario HTML) de una página web donde los
usuarios pueden introducir y enviar datos.
Entre sus etiquetas de inicio <form> y cierre </form>, se agrupan diferentes tipos de
elementos de entrada, como campos de texto, botones de opción, casillas de
verificación, botones de envío, etc., que permiten a los usuarios enviar datos al servidor
para su procesamiento.
¿Cómo usar la etiqueta form?
Primero debemos crear la etiqueta de inicios <form> y dentro de ella introducimos los
atributos necesarios
Segundo, introducimos todos lo elementos HTML necesarios para crear nuestro
formulario HTML.
Y tercero, cerramos el elemento HTML que nos permite crear un formulario con la
etiqueta de cierre </form>.
Ejemplo de sintaxis básica de etiqueta <form>:
Atributos importantes de la etiqueta form:
action: Especifica la URL a la que se enviarán los datos del formulario cuando se envíe. Por
ejemplo: action="/ruta/al/servidor". Si se omite, los datos del formulario se enviarán al
mismo lugar donde se encuentra la página actual.
method: Define el método HTTP utilizado para enviar los datos del formulario. Los valores
más comunes son:
GET: Los datos del formulario se enviarán como parte de la URL en la barra de direcciones
del navegador. Es adecuado para formularios que envían datos pequeños y no
confidenciales.
POST: Los datos se envían en el cuerpo de la petición HTTP. (Más seguro que GET para datos
sensibles)
enctype: Define el tipo de codificación de los datos del formulario. El valor más común y el
que se aplica por defecto si no se especifica el mismo es: application/x-www-form-
urlencoded.
Sintaxis básica del formulario HTML
Este tipo de input toma un valor de "texto", por lo que crea una sola línea de
entrada de texto.
Como su nombre lo indica, una entrada con un tipo de contraseña crea una contraseña. Es
automáticamente invisible para el usuario, a menos que sea manipulado por JavaScript.
Cualquier entrada con el tipo de correo electrónico define un campo para ingresar una dirección
de correo electrónico.
Utilice este tipo para agregar un botón de envío a los formularios. Cuando un usuario hace
clic en él, envía automáticamente el formulario. Toma un atributo de valor, que define el
texto que aparece dentro del botón.
Este es un tipo de entrada elegante introducido por HTML5. Con él, el usuario puede enviar su
color favorito, por ejemplo. El negro (#000000) es el valor predeterminado, pero se puede
anular configurando el valor en el color deseado.
Muchos desarrolladores lo han utilizado como truco para llegar a seleccionar diferentes tonos
de color disponibles en formatos RGB, HSL y alfanuméricos.
La entrada con el tipo de búsqueda define un campo de texto como un tipo de entrada de texto. Pero esta
vez tiene el único propósito de buscar información. Se diferencia de escribir texto en que aparece un botón
de cancelar una vez que el usuario comienza a escribir.
Cuando el atributo de tipo de una etiqueta de entrada se establece en URL, muestra un campo
donde los usuarios pueden ingresar una URL.
Es posible que se haya registrado en un sitio web donde solicitó la fecha de un evento
determinado. La web probablemente usó una entrada con el valor de tipo establecido
"date" para lograr esto.
Esto funciona como el tipo de entrada fecha, pero también le permite al usuario elegir una fecha con
una hora en particular.
La entrada con el tipo de mes completa los meses para que el usuario elija cuando se hace clic.
Hay ocasiones en las que un usuario necesitará completar varias líneas de texto que no
serían adecuadas en un tipo de entrada de texto(ya que especifica un campo de texto de
una línea).
textarea permite al usuario hacer esto porque define múltiples líneas de entrada de texto.
Toma sus propios atributos, tales como cols – para el número de columnas, y rows para el
número de filas.
Esto es como un botón de radio y una casilla de verificación en un solo paquete. Está incrustado
en la página con dos elementos: un elemento select y option, que siempre está anidado dentro
de select.
De forma predeterminada, el usuario solo puede elegir una de las opciones. Pero con múltiples
atributos, puede permitir que el usuario seleccione más de una de las opciones.
<select>
<option value="HTML">Select a Language</option>
<option value="HTML">HTML</option>
<option value="CSS">CSS</option>
<option value="JavaScript">JavaScript</option>
<option value="React">React</option>
</select>
Cómo etiquetar entradas HTML
Es importante asignar etiquetas a los controles de formulario. Cuando están correctamente
conectados al campo de entrada a través de su atributo for y el atributo id, es más fácil de usar
para el usuario, ya que simplemente puede hacer clic en la etiqueta para acceder a la entrada.
<label for="name">Name</label>
<input type="text" id="name" /> <br />
<label for="check">Agree with terms</label>
<input type="checkbox" id="check" />
Cómo funcionan los formularios HTML
Cuando un usuario completa un formulario y lo envía con el botón Enviar, los datos en los controles
del formulario se envían al servidor a través de métodos de solicitud HTTP GET o POST.
Entonces, ¿cómo se indica el servidor? El elemento de formulario toma un atributo de acción, que
debe tener su valor especificado en la URL del servidor. También toma un atributo de método,
donde se especifica el método HTTP que utiliza para transmitir los valores al servidor.
Este método podría ser GET o POST. Con el método GET, los valores ingresados por el usuario son
visibles en la URL cuando se envían los datos. Pero con POST, los valores se envían en encabezados
HTTP, por lo que esos valores no son visibles en la URL.
El HTML:
<form action=servidor-ejemplo.com">
<fieldset> <div class="form-control">
<legend>Contacto</legend> <label for="message">Mensaje</label>
<div class="form-control"> <textarea
<label for="name">Nombre</label> id="message"
<input type="name" id="name" placeholder= cols="30"
"Introduce tu nombre" required /> rows="10"
</div> placeholder="Introduce tu mensaje"
required
<div class="form-control"> ></textarea>
<label for="email">Email</label> </div>
<input <input type="submit" value="Enviar" class="submit-btn" /
type="email" </fieldset>
id="email" </form>
placeholder="Introduce tu Email"
required
/>
</div>
¿Qué está pasando en este código HTML?
Primero, un elemento form está envolviendo todos los demás elementos. Tiene una acción establecida para
“servidor-ejemplo.com”, un servidor ficticio donde se recibirán los datos del formulario.
Después del elemento de forma, todos los demás elementos también están rodeados por un elemento fieldset
con la etiqueta legend debajo.
Usamos el elemento fieldset para agrupar las entradas relacionadas, y la etiqueta legend contiene un título que
transmite de qué se trata el formulario.
Los campos name, email, y textarea están todos en un elemento div con la clase asignada "form-control". Por lo
tanto, se comportan como un elemento de bloque para facilitar el estilo con CSS.
También están validados con el atributo required, en consecuencia, el formulario no se envía
cuando esos campos están vacíos o cuando el usuario no ingresa los valores en el formato
apropiado.
Le dimos a las entradas y a textarea un ancho del 100% para que tomen todo el ancho del contenedor
padre. Las etiquetas tienen una altura de línea mínima de 1,9 rem (30,4 px), por lo que no se quedan
demasiado cerca de sus respectivas entradas.
Diseñamos específicamente el botón (botón de tipo de entrada) con la propiedad de transformación para
empujarlo hacia el centro, ya que estaba un poco descentrado. Le dimos un relleno de 3px para tener más
espacio alrededor. Luego seleccionamos una familia de fuentes cursiva para él con un peso de negrita.
Porque el botón estaba demasiado cerca del textarea, establecemos un margen superior de 0,6 rem para
empujarlo un poco hacia abajo.
Le dimos a nuestro elemento fieldset un relleno de 20 px en la parte superior e inferior, con 40
px a la izquierda y a la derecha para separar el borde que crea alrededor de los elementos de
formulario en los que está envuelto.