Risposte:
Forse questo sta andando un po 'troppo indietro ma ...
Inoltre, vorrei suggerire che i campi di testo multilinea hanno un tipo diverso (ad es. "Textarea") rispetto ai campi a riga singola ("testo"), in quanto sono realmente diversi tipi di cose e implicano problemi diversi (semantica) per gestione lato client.
textarea
elemento è perché Marc Andreessen lo ha proposto nell'ottobre 1993 per i motivi sopra citati.
type
attributo del input
tag e condividono tutti lo stesso input
tag. Quindi no, questa citazione non è una risposta a questa domanda.
In modo che il suo valore possa contenere facilmente virgolette e <> caratteri e rispettare spazi bianchi e righe.
Il seguente codice HTML passa correttamente il validatore w3c e visualizza <,> e & senza la necessità di codificarli. Rispetta anche gli spazi bianchi.
<!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>
<
, &
, ecc E 'solo così che può gestire gli spazi bianchi.
A textarea
può contenere più righe di testo, quindi non si sarebbe in grado di precompilarlo usando un value
attributo.
Allo stesso modo, l' select
elemento deve essere il proprio elemento per accogliere i option
sotto-elementi.
value
attr? L'overflow passa alla riga successiva al ridimensionamento di textarea
comunque.
Era una limitazione della tecnologia al momento della sua creazione. La mia risposta è stata copiata da Programmers.SE :
Da una delle bozze HTML originali :
NOTA: nella progettazione iniziale per i moduli, i campi di testo multilinea erano supportati dall'elemento Input con TYPE = TEXT. Sfortunatamente, ciò causa problemi per i campi con valori di testo lunghi. L'impostazione predefinita di SGML (set di quantità di riferimento) limita la lunghezza dei valori letterali degli attributi a soli 240 caratteri. La dichiarazione SGML HTML 2.0 aumenta il limite a 1024 caratteri.
Mi rendo conto che questo è un post più vecchio, ma ho pensato che potesse essere utile a chiunque si chiedesse la stessa domanda:
Sebbene le risposte precedenti siano senza dubbio valide, esiste una ragione più semplice per la distinzione tra textarea e input.
Come accennato in precedenza, l'HTML viene utilizzato per descrivere e fornire il maggior numero possibile di strutture semantiche al contenuto Web, inclusi i moduli di input. È possibile utilizzare un'area di testo per l'input, tuttavia è possibile contrassegnare un'area di testo come sola lettura tramite l'attributo readonly. L'esistenza di un tale attributo non avrebbe alcun senso per un tipo di input , e quindi la distinzione.
input[type="text"]
può assumere anche l' attributo readonly . Il che è strano, ora che lo fai notare! w3.org/TR/html-markup/input.text.html#input.text.attrs.readonly
<select>
invece di<input type="select">
. Il<input>
just rappresenta un elemento di input di base. L'type
attributo rappresenta solo il tipo di valore che detiene.