JQueryを使用して、テキストフィールドのHTML5 placeholder
属性を動的に更新しようとしています。
$("textarea").attr("placeholder", "New placeholder text");
Firebugから、placeholder
属性が実際に変化していることがわかります。ただし、レンダリングされたtextarea
要素では、同じままです。助言がありますか?
Firebugを使用している場合、Firefoxを使用していると想定できますが、Firefoxは入力フィールド自体でplaceholder
属性をまだサポートしていません。
私はちょうどChrome for Macで試してみました、そしてそれはtextareasのプレースホルダーテキストをサポートします(およびjavascript経由の変更))
2015年の更新:時々この回答で評判が上がるので、Firefox 3.6はプレースホルダー属性をサポートしていなかったため、これが正しいと認められたことを明確にしたいと思います。その後、リリース4でサポートが追加されたため(「問題の修正」が公平ではなかったため)、OPのコードはそれ以降期待どおりに機能します。
これを試して :
$('#inputTextID').attr("placeholder","placeholder text");
私はあなたがそれをしなければならないと思います:
$("textarea").val('');
$("textarea").attr("placeholder", "New placeholder text");
<label for="myname">Name *</label>
<input type="text" name="myname" id="myname" title="Please enter your name"
pattern="[A-Za-z ]+, [A-Za-z ]+"
autofocus required placeholder="Last, First" />
次に、プレースホルダーを選択し、そのテキストをnew text that you want to enter
に置き換えます。
$("input[placeholder]").attr("placeholder", "This is new text");
これにより、Last, First
のテキストがThis is new text
に置き換えられます。
javascriptとJqueryを使用した動的プレースホルダーの動作例 http://jsfiddle.net/ogk2L14n/1/
<input type="text" id="textbox">
<select id="selection" onchange="changeplh()">
<option>one</option>
<option>two</option>
<option>three</option>
</select>
function changeplh(){
debugger;
var sel = document.getElementById("selection");
var textbx = document.getElementById("textbox");
var indexe = sel.selectedIndex;
if(indexe == 0) {
$("#textbox").attr("placeholder", "age");
}
if(indexe == 1) {
$("#textbox").attr("placeholder", "name");
}
}