52

http://dabblet.com/gist/5859946

長いプレースホルダーがある場合、デフォルトでは、入力はすべてのプレースホルダー テキストを表示するのに十分な幅で表示されません。

例えば

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

固定幅を設定せず、できれば JavaScript を設定せずに、すべてのプレースホルダー テキストを表示するように入力を設定できますか?

4

4 に答える 4

43

これは、サイズ = プレースホルダーの長さを設定することにより、javascript を介してのみ行うことができます。

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

これは、すべての入力に対してそれを行うコードです: http://jsfiddle.net/KU5kN/

于 2013-06-25T17:08:17.960 に答える
10

誰かがこれを jQuery で使用したい場合に備えて、そのコードは以下になります。また、placeholder受け入れられた回答に属性が存在しない場合、エラーが発生します。これは、以下の jQuery の例でも同様に処理されます。

$("input[placeholder]").each(function () {
        $(this).attr('size', $(this).attr('placeholder').length);
    });
于 2015-01-12T00:47:17.783 に答える