2011-09-07 9 views
5

Me gustaría saber si es posible hacer una etiqueta <input> con una apariencia multilínea (similar al <TEXTAREA></TEXTAREA>) usando CSS u otra opción, lamentablemente puedo reemplazar la etiqueta en mi aplicación web.¿Cómo hacer una etiqueta <input> multi línea?

<input id="uxMessage" validation="required" name="uxMessage" type="text" /> 

Muchas Gracias

+0

No, a menos que convertirlo en un 'textarea' de alguna manera. Sin embargo, * usted * podría * hacerlo con relativa facilidad con jQuery. –

+0

Puede diseñar un cuadro de texto para que sea más grande, pero estoy seguro de que seguirá siendo una sola línea. –

+0

si Jeremy sigue siendo una sola línea. – GibboK

Respuesta

8

<input type="text" /> siempre ser sólo una línea; No puede forzar un comportamiento de línea múltiple con CSS o JavaScript. Tendrá que usar un <textarea> en lugar de un <input>.

Puede usar jQuery y es el método .replaceWith() para reemplazar el <input> objetivo con un <textarea>. sin embargo, esto tiene advertencias obvias, como aquellos que visitan su página sin JavaScript.

Ejemplo:

<input id="uxMessage" validation="required" name="uxMessage" type="text" /> 

$("#uxMessage").replaceWith('<textarea id="uxMessage" name="uxMessage"></textarea>'); 
2

No sin algún bastante fuerte Javascript, Área de texto es la única entrada de texto de varias líneas, que yo sepa.

Editar

Algo como esto podría funcionar con jQuery:

var textArea = jQuery('<textarea />').attr({'id': 'uxMessage', 'name': 'uxMessage'}); 
jQuery('#uxMessage').replaceWith(textArea); 
Cuestiones relacionadas