Eu tenho esta entrada de texto em um formulário:
<input type="text"
cols="40"
rows="5"
style="width:200px; height:50px;"
name="Text1"
id="Text1"
value="" />
Eu estou tentando fazê-lo ter várias linhas de entrada. A largura e a altura tornam a caixa maior, mas o usuário pode digitar o texto todo (s) que deseja, mas ele preenche apenas uma linha.
Como tornar a entrada mais parecida com uma área de texto?
<textarea \>
é inválido.textarea
não suporta opattern
atributo Tão danado.val()
. Você tem queappend
fazer isso. :(É possível criar uma linha múltipla de entrada de texto, atribuindo-lhe o
word-break: break-word;
atributo. (Apenas testei isso no Chrome)fonte
Você não pode. No momento da redação deste artigo, o único elemento de formulário HTML projetado para ser multilinhas é
<textarea>
.fonte
Use a área de texto
não deixe espaço entre as tags de abertura e fechamento Ou então Isso deixará algumas linhas ou espaços vazios.
fonte
Verifique isto:
fonte
Você deve usar
textarea
para suportar entradas de várias linhas.fonte
Se você precisar de área de texto com altura automática, use a seguir com javascript puro,
fonte
A entrada não suporta várias linhas. Você precisa usar uma área de texto para alcançar esse recurso.
Para mais informações, dê uma olhada nisso .
fonte
Se você estiver usando o React, a biblioteca material-ui.com pode ajudá-lo com:
https://material-ui.com/components/text-fields/#multiline
fonte
Use
<div contenteditable="true">
( bem suportado ) com armazenamento para<input type="hidden">
.HTML:
js (usando jQuery)
fonte