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

Как установить ширину ввода в соответствии с шириной текста заполнителя

Пример http://dabblet.com/gist/5859946

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

например.

<input placeholder="Please enter your name, address and shoe size">

Не устанавливая фиксированную ширину и, желательно, не javascript, можете ли вы установить ввод для отображения всего текста заполнителя?

4b9b3361

Ответ 1

Это можно сделать только через javascript, установив size = placeholder length:

input.setAttribute('size',input.getAttribute('placeholder').length);

Вот код, который дозирует, что для всех входов: http://jsfiddle.net/KU5kN/

Ответ 2

На всякий случай кто-то хочет использовать это с jQuery, этот код будет ниже. Кроме того, если атрибут placeholder не существует в принятом ответе, вы получите ошибки, о которых также говорится в примере jQuery ниже.

$("input[placeholder]").each(function () {
        $(this).attr('size', $(this).attr('placeholder').length);
    });