<input> многострочный с поддержкой CSS - PullRequest
16 голосов
/ 25 августа 2009

Есть ли способ получить поле <input /> в HTML для переноса строк, если текст длиннее, чем поле с использованием CSS? Я не хочу использовать <textarea />, поскольку хочу, чтобы пользователи не вводили жесткие разрывы строк, нажимая клавишу ввода.

Ответы [ 5 ]

25 голосов
/ 25 августа 2009

Нет, извините. <input type=text> - одна строка по определению. См. Документ W3C Формы в документах HTML :

text
    Creates a single-line text input control.
3 голосов
/ 28 ноября 2011

Посмотри на это, http://www.echoecho.com/htmlforms08.htm

Параметры переноса - самая сложная часть текстовых областей. Если вы выключите перенос, текст будет обработан как одна длинная последовательность текста без разрывов строк. Если вы установите его как виртуальный, текст появится на вашей странице, как если бы он распознавал разрывы строк - но когда форма отправлена, разрывы строк отключаются. Если вы установите его как физический, текст будет представлен точно так, как он отображается на экране, включая разрывы строк.

3 голосов
/ 25 августа 2009

Вы не можете делать то, что хотите, только с помощью CSS, но вы можете использовать JavaScript, чтобы запретить пользователю вводить разрывы строк в поле <textarea>.

3 голосов
/ 25 августа 2009

Используя элемент управления Dijit TextArea в Dojo, основанный на TextArea, вы можете получить поле ввода, которое начинается с одной строки и расширяется по мере добавления пользователя.

См. документацию .

0 голосов
/ 25 августа 2009

Лучше всего использовать текстовую область (с возможностью автоматического увеличения, если хотите), а затем удалять новые строки при отправке формы. С использованием php это будет примерно так:

$text = str_replace(array("\n","\r"),'',$_POST['text_field']);

Это будет иметь желаемый эффект блокировки символов новой строки. Как отмечали другие, на самом деле невозможно получить многострочный ввод в поле ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...