Подтвердить что ты не робот

<input> многострочный доступ через CSS

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

4b9b3361

Ответ 1

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

text
    Creates a single-line text input control.

Ответ 2

Используя

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

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

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