Конечно, я могу использовать стандартное текстовое поле html, но по какой-то причине мне нужна текстовая область.
Итак, можно ли отключить многострочный вариант textarea?
Конечно, я могу использовать стандартное текстовое поле html, но по какой-то причине мне нужна текстовая область.
Итак, можно ли отключить многострочный вариант textarea?
Вы можете установить размер вашего текстового поля с помощью атрибутов 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" ... />
Почему вы хотите его избежать?
Вы можете сохранить весь текст в одной строке с помощью параметров rows="1"
в <textarea>
, как и другие ответы, и затем применить следующий CSS в текстовой области:
resize: none;
white-space: nowrap;
overflow-x: scroll;
Этот CSS предотвратит обертку одной строки, сохраняя при этом всю видимую строку, предоставляя полосу прокрутки для перемещения по любому тексту, который переполняет видимую область.
Используйте строки = 1 для отображения только одной строки. вы можете получить дополнительную информацию из этой
Вы можете установить для атрибута rows
значение 1.
Невозможно отключить многострочный
Следующий фрагмент jQuery заставляет textarea отображаться в одной строке.
$(document).ready(function(){
$('textarea').each(function(){$(this).attr('rows', 1);});
});