← Todos los artículos
HTMLCampos de formularioÁreas de texto

Área de texto HTML en formularios: guía práctica con ejemplos

Equipo de FormsFort ·

Use a <textarea> when a single-line input is too small for the answer you need. Messages, feedback, support descriptions, job application notes, and project briefs all belong in a textarea.

La mejor pregunta no es “¿cómo agrego un área de texto?” Se trata de "¿cómo recopilo texto extenso y útil sin perjudicar la usabilidad, la accesibilidad o la capacidad de entrega?" Un área de texto de producción necesita una etiqueta clara, un tamaño útil, límites sensibles y manejo de backend para contenido extenso o abusivo.

Formulario de área de texto básico

<form action="https://api.formsfort.com/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<label for="message">Message</label>
<textarea id="message" name="message" rows="5" required></textarea>
<input type="checkbox" name="botcheck" style="display:none" />
<button type="submit">Send message</button>
</form>

Los atributos importantes son:

AtributoPropósito
idConecta el área de texto a una etiqueta visible
nameControla el nombre del campo enviado
rowsEstablece la altura visible inicial
requiredImpide envíos de navegador vacíos

Without name, the browser will not include the textarea value in the submitted form data.

Área de texto vs entrada

Utilice una entrada de texto para valores cortos. Utilice un área de texto para respuestas más largas y de formato libre.

CampoMejor para
<input type="text">Nombre, empresa, ciudad, respuesta corta
<input type="email">Dirección de correo electrónico
<input type="url">URL del sitio web
<textarea>Mensaje, comentarios, descripción, notas

No utilice un área de texto para direcciones de correo electrónico, números de teléfono, fechas o precios. Los tipos de entrada especializados brindan a los usuarios mejores teclados móviles y validación del navegador.

Agregar límites útiles

Long text is valuable, but unbounded text is a spam and storage risk. Set maxlength for the browser and enforce limits on the backend.

<label for="project">Project details</label>
<textarea
id="project"
name="project_details"
rows="7"
minlength="20"
maxlength="3000"
placeholder="Tell us what you are building, your timeline, and what should happen after submission."
required
></textarea>

Use minlength only when a short answer would be unusable. For contact forms, required plus maxlength is usually enough.

Utilice el texto del marcador de posición con cuidado

El texto del marcador de posición puede mostrar ejemplos, pero no debe reemplazar la etiqueta. El texto del marcador de posición desaparece tan pronto como el visitante comienza a escribir y la tecnología de asistencia puede pasarlo por alto.

Good:

<label for="support_message">What happened?</label>
<textarea
id="support_message"
name="support_message"
rows="6"
placeholder="Include the page URL, error message, and what you expected to happen."
></textarea>

Poor:

<textarea placeholder="Message"></textarea>

The poor version has no label and no name, so it is both less accessible and less useful to the backend.

Controlar el cambio de tamaño con CSS

Los navegadores a menudo permiten a los visitantes cambiar el tamaño de las áreas de texto. Esto es útil, pero el cambio de tamaño horizontal puede romper los diseños estrechos.

textarea {
width: 100%;
min-height: 140px;
resize: vertical;
}

resize: vertical lets visitors make the textarea taller without breaking the page width.

Enviar contenido del área de texto a un servidor

Este ejemplo completo funciona en un sitio estático y envía un envío estructurado a FormsFort.

<form action="https://api.formsfort.com/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="hidden" name="subject" value="New support request" />
<label for="email">Email</label>
<input type="email" id="email" name="email" autocomplete="email" required />
<label for="category">Category</label>
<select id="category" name="category" required>
<option value="">Choose a category</option>
<option value="billing">Billing</option>
<option value="technical">Technical issue</option>
<option value="account">Account</option>
</select>
<label for="message">Details</label>
<textarea id="message" name="message" rows="7" maxlength="3000" required></textarea>
<input type="checkbox" name="botcheck" style="display:none" />
<button type="submit">Send request</button>
</form>

When submitted, the backend receives email, category, and message as normal fields. That makes the submission easy to email, forward to a webhook, append to a sheet, or triage in a dashboard.

Notas de seguridad y spam

Los campos de área de texto atraen spam porque aceptan texto arbitrario. Utilice un campo honeypot, límites de velocidad, restricciones de dominio y CAPTCHA opcional para formularios expuestos.

Nunca muestre el contenido del área de texto enviado como HTML sin formato en un panel de administración o plantilla de correo electrónico. Escape del contenido del usuario antes de mostrarlo. Incluso cuando su formulario es estático, el texto enviado no es una entrada de confianza.

Ver Ejemplos de formularios HTML para copiar y pegar plantillas, Campos de entrada HTML para campos cortos, y Honeypot vs CAPTCHA para protección antispam.

Preguntas frecuentes

¿Para qué se utiliza el área de texto en un formulario HTML?

El área de texto se utiliza para texto de varias líneas, como mensajes, comentarios, notas, detalles de soporte y descripciones de proyectos.

¿Textarea necesita un atributo de nombre?

Sí. El atributo de nombre es la clave enviada al backend de su formulario. Sin él, el valor del área de texto no se incluye en el envío del formulario estándar.

¿Cómo limito la longitud del área de texto?

Utilice maxlength para el límite del lado del navegador y aplique un máximo del lado del servidor en el backend de su formulario.

¿Se puede requerir un área de texto?

Sí. Agregue el atributo requerido para evitar envíos vacíos en navegadores que admitan la validación HTML5.

Comience gratis

¿Listo para agregar formularios a su sitio estático?

No se requiere backend. Apunte su formulario HTML a FormsFort y comience a recibir envíos en minutos.