Ändern der „Platzhalter“ Attribut von HTML5 Eingabeelemente dynamisch mit Javascript

StackOverflow https://stackoverflow.com/questions/3919369

  •  29-09-2019
  •  | 
  •  

Frage

Ich versuche, das HTML5 placeholder Attribut eines Textfeldes mit jQuery dynamisch zu aktualisieren.

$("textarea").attr("placeholder", "New placeholder text");

Von Firebug kann ich feststellen, dass das placeholder Attribut in der Tat verändert sich. Aber im gerenderten textarea Elemente, bleibt es das gleiche. Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Wenn Sie Firebug ich verwenden annehmen können Sie Firefox verwenden, und Firefox noch nicht placeholder Attribut in den Eingabefeldern selbst unterstützen.

Platzhalter Feature-Erkennung

Ich habe gerade versucht, auf Chrome für Mac und unterstützt Platzhalter-Text auf Textbereiche (und Änderungen über Javascript)

2015 Update: manchmal erhalte ich Ruf für diese Antwort, so dass ich zu klären, will, dass dies, weil zu der Zeit als richtig akzeptiert wurde Firefox 3.6 nicht Platzhalter Attribut unterstützen. Release 4 dann zusätzliche Unterstützung ( „das Problem behoben“ hätte nicht fair) so den Code der OP arbeitet als seitdem erwartet.

Andere Tipps

versuchen, diese:

$('#inputTextID').attr("placeholder","placeholder text");

Ich glaube, Sie haben das zu tun:

$("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" />

Dann mögen Sie den Platzhalter auswählen und diesen Text mit dem new text that you want to enter ersetzen.

$("input[placeholder]").attr("placeholder", "This is new text");

Damit wird der Text von Last, First zu This is new text ersetzen.

Arbeitsbeispiel für dynamische Platzhalter mit Javascript und 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");
}
}

HTML:

<input type="text" placeholder="entername" id="fname"/>

JS:

$("#fname").attr("placeholder", "New placeholder text");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top