C'è un modo per ottenere un campo <input />
in HTML per racchiudere le righe se il testo è più lungo del campo che usa CSS? Non voglio utilizzare <textarea />
perché voglio evitare che gli utenti inseriscano interruzioni di linea complesse premendo Invio.<input> multi-line capable tramite CSS
risposta
No, mi spiace. <input type=text>
è una riga singola per definizione. Vedere il documento del W3C Forms in HTML Documents:
text
Creates a single-line text input control.
Utilizzando controllo di modulo TextArea Dijit del Dojo, in base al largo TextArea, si può avere un campo di input che inizia come una singola riga e si espande come l'utente aggiunge ad essa.
Vedere its documentation.
Non è possibile eseguire ciò che si desidera con il solo CSS, ma è possibile utilizzare JavaScript per impedire all'utente di inserire interruzioni di riga in un campo <textarea>
.
La soluzione migliore è utilizzare una textarea (con le funzionalità di aumento automatico se lo si desidera), quindi rimuovere le nuove righe quando il modulo viene inviato. Usando php sarebbe qualcosa del genere:
$text = str_replace(array("\n","\r"),'',$_POST['text_field']);
Questo avrebbe l'effetto desiderato di bloccare i caratteri di nuova riga. Come altri hanno sottolineato, non è davvero possibile ottenere input su più righe in un campo di input.
http://www.technoreply.com/autogrow-textarea-plugin-version-2-0/ – Four
guardare a questo, http://www.echoecho.com/htmlforms08.htm
Le opzioni avvolgere sono la parte più difficile di aree di testo. Se si disattiva il wrap, il testo viene gestito come una lunga sequenza di testo senza interruzioni di riga. Se si imposta virtuale appare il testo sulla pagina come se fosse riconosciuto a capo - ma quando il modulo viene inviato le interruzioni di riga sono spenti. Se lo si imposta su fisico, il testo viene inviato esattamente come appare sullo schermo - interruzioni di riga incluse.
Questo non è quello che voleva. – aehlke
Vuole un input che avvolge. Mi sembra una textarea. Non voleva che l'utente fosse in grado di inserire interruzioni di riga, cosa che si potrebbe fare con JavaScript. –