Respostas:
Talvez isso esteja indo muito longe, mas…
Além disso, eu gostaria de sugerir que os campos de texto com várias linhas tenham um tipo diferente (por exemplo, “área de texto”) que os campos de linha única (“texto”), pois eles realmente são tipos diferentes de coisas e implicam problemas diferentes (semântica) para manipulação do lado do cliente.
textarea
elemento é que Marc Andreessen o propôs em outubro de 1993 pelos motivos citados acima.
type
atributo da input
tag e todos compartilham uma e a mesma input
tag. Portanto, não, esta citação não é uma resposta para esta pergunta.
Para que seu valor possa facilmente conter aspas e <> caracteres e respeitar espaços em branco e novas linhas.
O código HTML a seguir passa com êxito o validador w3c e exibe <,> e & sem a necessidade de codificá-los. Também respeita os espaços em branco.
<!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. É apenas para que ele possa lidar com espaços em branco.
A textarea
pode conter várias linhas de texto, portanto, não seria possível preenchê-lo previamente usando um value
atributo.
Da mesma forma, o select
elemento precisa ser seu próprio elemento para acomodar option
subelementos.
value
attr? O estouro passa para a próxima linha no redimensionamento de textarea
qualquer maneira.
Era uma limitação da tecnologia no momento em que foi criada. Minha resposta foi copiada do Programmers.SE :
De um dos rascunhos HTML originais :
NOTA: No design inicial para formulários, os campos de texto com várias linhas eram suportados pelo elemento Input com TYPE = TEXT. Infelizmente, isso causa problemas para campos com valores longos de texto. O padrão do SGML (conjunto de quantidade de referência) limita o comprimento dos literais de atributo a apenas 240 caracteres. A declaração SGML HTML 2.0 aumenta o limite para 1024 caracteres.
Sei que este é um post antigo, mas achei que isso poderia ser útil para qualquer pessoa que se perguntasse a mesma pergunta:
Embora as respostas anteriores sejam sem dúvida válidas, há uma razão mais simples para a distinção entre área de texto e entrada.
Como mencionado anteriormente, o HTML é usado para descrever e fornecer o máximo possível de estrutura semântica para o conteúdo da Web, incluindo formulários de entrada. Uma área de texto pode ser usada para entrada, no entanto, uma área de texto também pode ser marcada como somente leitura através do atributo readonly. A existência desse atributo não faria sentido para um tipo de entrada e, portanto, a distinção.
input[type="text"]
pode levar o atributo readonly . O que é meio estranho, agora que você aponta! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
<select>
vez de<input type="select">
. O<input>
just representa um elemento de entrada básico. Otype
atributo apenas representa o tipo do valor que possui.