Можно ли отключить многострочный вариант textarea?

Конечно, я могу использовать стандартное текстовое поле html, но по какой-то причине мне нужна текстовая область.

Итак, можно ли отключить многострочный вариант textarea?

Ответ 1

Вы можете установить размер вашего текстового поля с помощью атрибутов cols и rows и сделать его не изменяемым в CSS, но вы не можете запретить пользователю добавлять более одной строки. Даже если область слишком мала, появится полоса прокрутки и пусть они будут писать столько строк, сколько захотят.

Если вам действительно нужно получить только одну строку, я предлагаю установить для атрибута rows значение 1 и проверить, имеет ли вход одну строку с Javascript.

В html:

<textarea name="a"  cols="5" rows="1" ></textarea>

В CSS:

textarea{
    resize: none; 
    #You can use resize: horizontal if you just want to disable vertical resize
}

Тем не менее, я бы предложил использовать <input type="text" ... /> Почему вы хотите его избежать?

Ответ 2

Вы можете сохранить весь текст в одной строке с помощью параметров rows="1" в <textarea>, как и другие ответы, и затем применить следующий CSS в текстовой области:

resize: none;
white-space: nowrap;
overflow-x: scroll;

Этот CSS предотвратит обертку одной строки, сохраняя при этом всю видимую строку, предоставляя полосу прокрутки для перемещения по любому тексту, который переполняет видимую область.

Ответ 3

Используйте строки = 1 для отображения только одной строки. вы можете получить дополнительную информацию из этой

Ответ 4

Вы можете установить для атрибута rows значение 1.

Невозможно отключить многострочный

Ответ 5

Следующий фрагмент jQuery заставляет textarea отображаться в одной строке.

  $(document).ready(function(){
    $('textarea').each(function(){$(this).attr('rows', 1);});
  });