Respuestas:
Tal vez esto está yendo demasiado atrás, pero ...
Además, me gustaría sugerir que los campos de texto de varias líneas tienen un tipo diferente (por ejemplo, "área de texto") que los campos de una sola línea ("texto"), ya que realmente son diferentes tipos de cosas e implican diferentes problemas (semántica) para manejo del lado del cliente.
textarea
elemento es porque Marc Andreessen lo propuso en octubre de 1993 por las razones citadas anteriormente.
type
atributo de input
etiqueta y todos comparten una misma input
etiqueta. Entonces no, esta cita no es una respuesta a esta pregunta.
Para que su valor pueda contener fácilmente comillas y caracteres <> y respetar espacios en blanco y nuevas líneas.
El siguiente código HTML pasa con éxito el validador w3c y muestra <,> y & sin la necesidad de codificarlos. También respeta los espacios en blanco.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Yes I can</title>
</head>
<body>
<textarea name="test">
I can put < and > and & signs in
my textarea without any problems.
</textarea>
</body>
</html>
<
, &
etc. Es sólo por lo que puede manejar espacios en blanco.
A textarea
puede contener varias líneas de texto, por lo que no se podría rellenar previamente con un value
atributo.
Del mismo modo, el select
elemento debe ser su propio elemento para acomodar option
subelementos.
value
atributo? El desbordamiento se ajusta a la siguiente línea al cambiar el tamaño de textarea
todos modos.
Era una limitación de la tecnología en el momento en que se creó. Mi respuesta se copió de Programmers.SE :
De uno de los borradores HTML originales :
NOTA: En el diseño inicial de los formularios, los campos de texto de varias líneas fueron compatibles con el elemento Input con TYPE = TEXT. Desafortunadamente, esto causa problemas para los campos con valores de texto largos. El valor predeterminado de SGML (Conjunto de cantidad de referencia) limita la longitud de los literales de atributo a solo 240 caracteres. La declaración HTML 2.0 SGML aumenta el límite a 1024 caracteres.
Me doy cuenta de que esta es una publicación anterior, pero pensé que podría ser útil para cualquiera que se pregunte la misma pregunta:
Si bien las respuestas anteriores son sin duda válidas, hay una razón más simple para la distinción entre textarea e input.
Como se mencionó anteriormente, el HTML se utiliza para describir y proporcionar la mayor estructura semántica al contenido web posible, incluidos los formularios de entrada. Se puede usar un área de texto para la entrada, sin embargo, un área de texto también se puede marcar como de solo lectura a través del atributo de solo lectura. La existencia de tal atributo no tendría ningún sentido para un tipo de entrada , y por lo tanto, la distinción.
input[type="text"]
puede tomar el atributo de solo lectura . ¡Lo cual es un poco extraño, ahora que lo señala! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
<select>
lugar de<input type="select">
. El<input>
just representa un elemento básico de entrada. Eltype
atributo solo representa el tipo del valor que posee.