Crear elementos de formulario HTML con tipos de entrada

CSSCSSBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, los estudiantes aprenderán cómo crear elementos de formulario HTML completos utilizando varios tipos de entrada. El laboratorio ofrece un enfoque estructurado para comprender los atributos de la etiqueta de formulario, implementar diferentes elementos de entrada y explorar técnicas de diseño de formularios. Los participantes adquirirán experiencia práctica con entradas de texto, botones de radio, casillas de verificación, carga de archivos y botones de envío, desarrollando habilidades esenciales de desarrollo web para crear formularios web interactivos y amigables con el usuario.

El laboratorio cubre conceptos clave como la configuración de la etiqueta de formulario, las variaciones de tipo de entrada y las estrategias de implementación prácticas. Al trabajar a través de ejercicios paso a paso, los aprendices entenderán cómo estructurar formularios, definir atributos de entrada y crear elementos de interacción de usuario dinámicos que son cruciales para recopilar y procesar datos de usuario en aplicaciones web.

Comprender la etiqueta de formulario y sus atributos básicos

En este paso, aprenderás sobre las etiquetas de formulario HTML y sus atributos básicos. Los formularios son esenciales para recopilar la entrada del usuario en las páginas web, lo que permite la interacción entre los usuarios y los sitios web.

Comencemos creando un formulario HTML básico en el WebIDE. Abre un nuevo archivo en el directorio ~/project y llámalo form_basics.html.

touch ~/project/form_basics.html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>HTML Form Basics</title>
  </head>
  <body>
    <form action="/submit" method="post">
      <!-- Form elements will be added here -->
    </form>
  </body>
</html>

La etiqueta <form> tiene dos atributos clave:

  • action: Especifica a dónde se enviarán los datos del formulario cuando se envíe
  • method: Define cómo se envían los datos (por lo general, "get" o "post")

Desglosemos los atributos del formulario:

  • action="/submit": Por lo general, este sería un punto final del lado del servidor que procesa los datos del formulario
  • method="post": Envía los datos del formulario en el cuerpo de la solicitud, es más seguro para información sensible

Ejemplo de salida de una estructura de formulario básica:

<form action="/submit" method="post">
  <!-- Form will look like this when rendered -->
</form>

Los atributos comunes de los formularios incluyen:

  • name: Identifica el formulario
  • id: Identificador único para el formulario
  • target: Especifica dónde mostrar la respuesta
  • enctype: Especifica cómo se deben codificar los datos del formulario

Si renderizas el formulario en un navegador, aún no mostrará ningún contenido visible. La estructura del formulario es la base para agregar elementos interactivos como entradas de texto, botones de radio y más.

Implementar elementos de entrada de texto

En este paso, aprenderás sobre diferentes tipos de elementos de entrada de texto en formularios HTML. Continuaremos trabajando con el archivo form_basics.html creado en el paso anterior.

Las entradas de texto son elementos fundamentales de los formularios que permiten a los usuarios ingresar varios tipos de información basada en texto. Exploremos diferentes tipos de entrada:

Abre tu archivo ~/project/form_basics.html y actualiza el formulario con varios elementos de entrada de texto:

<form action="/submit" method="post">
  <!-- Single-line text input -->
  <label for="username">Username:</label>
  <input
    type="text"
    id="username"
    name="username"
    placeholder="Enter your username"
  />

  <!-- Email input -->
  <label for="email">Email:</label>
  <input type="email" id="email" name="email" placeholder="Enter your email" />

  <!-- Password input -->
  <label for="password">Password:</label>
  <input
    type="password"
    id="password"
    name="password"
    placeholder="Enter your password"
  />

  <!-- Number input -->
  <label for="age">Age:</label>
  <input type="number" id="age" name="age" min="0" max="120" />

  <!-- Multiline text input -->
  <label for="comments">Comments:</label>
  <textarea
    id="comments"
    name="comments"
    rows="4"
    cols="50"
    placeholder="Enter your comments"
  ></textarea>
</form>

Atributos clave para las entradas de texto:

  • type: Define el tipo de entrada (texto, correo electrónico, contraseña, número)
  • id: Identificador único para la entrada
  • name: Nombre utilizado al enviar los datos del formulario
  • placeholder: Texto de sugerencia que se muestra antes de la entrada del usuario
  • min y max: Límites para las entradas numéricas
  • rows y cols: Dimensiones para el área de texto (textarea)

Ejemplo de salida cuando se renderiza en un navegador:

Notas: Aprende más sobre Cómo previsualizar archivos HTML en el WebIDE.

HTML form text input elements example

Crear elementos de selección de botones de radio y casillas de verificación

En este paso, aprenderás cómo crear botones de radio y casillas de verificación en formularios HTML. Estos tipos de entrada son cruciales para permitir a los usuarios hacer selecciones de opciones predefinidas.

Abre tu archivo ~/project/form_basics.html y agrega los siguientes elementos de botones de radio y casillas de verificación:

<form action="/submit" method="post">
  <!-- Radio Button Group -->
  <fieldset>
    <legend>Select Your Favorite Programming Language:</legend>
    <input type="radio" id="python" name="language" value="python" />
    <label for="python">Python</label>

    <input type="radio" id="javascript" name="language" value="javascript" />
    <label for="javascript">JavaScript</label>

    <input type="radio" id="java" name="language" value="java" />
    <label for="java">Java</label>
  </fieldset>

  <!-- Checkbox Group -->
  <fieldset>
    <legend>Select Your Skills:</legend>
    <input type="checkbox" id="html" name="skills" value="html" />
    <label for="html">HTML</label>

    <input type="checkbox" id="css" name="skills" value="css" />
    <label for="css">CSS</label>

    <input type="checkbox" id="javascript" name="skills" value="javascript" />
    <label for="javascript">JavaScript</label>
  </fieldset>
</form>

Puntos clave sobre botones de radio y casillas de verificación:

  • Los botones de radio (type="radio") permiten solo una selección en un grupo
  • Las casillas de verificación (type="checkbox") permiten múltiples selecciones
  • El atributo name agrupa entradas relacionadas
  • El atributo value define el valor enviado
  • Las etiquetas <fieldset> y <legend> ayudan a organizar y etiquetar grupos de entrada

Ejemplo de salida cuando se renderiza en un navegador:

HTML form with radio buttons and checkboxes

Agregar botones de carga de archivos y envío

En este paso, aprenderás cómo agregar entradas de carga de archivos y botones de envío a tu formulario HTML. Estos elementos son esenciales para permitir a los usuarios cargar archivos y enviar datos del formulario.

Abre tu archivo ~/project/form_basics.html y agrega los siguientes elementos:

<form action="/submit" method="post" enctype="multipart/form-data">
  <!-- Previous form elements from previous steps -->

  <!-- File Upload Input -->
  <fieldset>
    <legend>Upload Your Profile Picture:</legend>
    <input type="file" id="profile-pic" name="profile-pic" accept="image/*" />
  </fieldset>

  <!-- Submit and Reset Buttons -->
  <div>
    <input type="submit" value="Submit Form" />
    <input type="reset" value="Clear Form" />
  </div>
</form>

Puntos clave sobre la carga de archivos y los botones de envío:

  • type="file" crea una entrada de carga de archivos
  • accept="image/*" limita la selección de archivos a imágenes
  • enctype="multipart/form-data" es necesario para la carga de archivos
  • type="submit" crea un botón para enviar los datos del formulario
  • type="reset" borra todas las entradas del formulario

Ejemplo de salida cuando se renderiza en un navegador:

HTML form with file upload and buttons

Atributos importantes:

  • accept: Especifica los tipos de archivos permitidos
  • value: Establece el texto en los botones
  • name: Identifica la entrada cuando se envía

Practicar combinaciones de elementos de formulario

En este último paso, crearás un formulario de registro completo que combine todos los elementos de formulario HTML que has aprendido. Diseñaremos un formulario de registro de usuario que demuestre la aplicación práctica de varios tipos de entrada.

Crea un nuevo archivo ~/project/registration_form.html con el siguiente contenido:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>User Registration Form</title>
  </head>
  <body>
    <form action="/register" method="post" enctype="multipart/form-data">
      <h2>User Registration</h2>

      <!-- Personal Information -->
      <fieldset>
        <legend>Personal Details</legend>
        <label for="fullname">Full Name:</label>
        <input type="text" id="fullname" name="fullname" required />

        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required />

        <label for="age">Age:</label>
        <input type="number" id="age" name="age" min="18" max="100" />
      </fieldset>

      <!-- Account Preferences -->
      <fieldset>
        <legend>Account Preferences</legend>
        <label>Preferred Programming Language:</label>
        <input type="radio" id="python" name="language" value="python" />
        <label for="python">Python</label>

        <input
          type="radio"
          id="javascript"
          name="language"
          value="javascript"
        />
        <label for="javascript">JavaScript</label>

        <label>Skills:</label>
        <input type="checkbox" id="web" name="skills" value="web" />
        <label for="web">Web Development</label>

        <input type="checkbox" id="data" name="skills" value="data" />
        <label for="data">Data Science</label>
      </fieldset>

      <!-- Profile Picture -->
      <fieldset>
        <legend>Profile Picture</legend>
        <input type="file" id="profile" name="profile" accept="image/*" />
      </fieldset>

      <!-- Additional Comments -->
      <fieldset>
        <legend>Additional Information</legend>
        <label for="comments">Comments:</label>
        <textarea id="comments" name="comments" rows="4" cols="50"></textarea>
      </fieldset>

      <!-- Form Submission -->
      <div>
        <input type="submit" value="Register" />
        <input type="reset" value="Clear Form" />
      </div>
    </form>
  </body>
</html>

Características clave de este formulario combinado:

  • Varios tipos de entrada (texto, correo electrónico, número, botones de radio, casillas de verificación)
  • Carga de archivos
  • Área de texto (textarea) para comentarios adicionales
  • Botones de envío y restablecimiento
  • Grupos de campos (fieldset) para organizar secciones del formulario
  • Campos obligatorios y opcionales

Ejemplo de salida cuando se renderiza en un navegador:

User registration form example

Resumen

En este laboratorio, los participantes aprendieron los fundamentos de la creación de formularios HTML explorando elementos y atributos esenciales de los formularios. El laboratorio guió a los estudiantes en la comprensión de las estructuras de las etiquetas de formulario, con un enfoque en atributos clave como action y method, que definen cómo se procesan y transmiten los datos del formulario. Los participantes practicaron la creación de diseños básicos de formularios y la implementación de varios tipos de entrada, incluyendo entradas de texto, botones de radio, casillas de verificación y elementos de carga de archivos.

El enfoque práctico permitió a los aprendices desarrollar habilidades prácticas en el diseño de formularios web interactivos, cubriendo aspectos críticos como la configuración de elementos de entrada, métodos de envío de formularios y diseño de interacción con el usuario. Al construir progresivamente componentes de formularios, los estudiantes obtuvieron conocimientos sobre cómo estructurar interfaces web funcionales y amigables para el usuario utilizando técnicas estándar de formularios HTML.