Cambiando l'attributo “placeholder” degli elementi di input HTML5 dinamico utilizzando JavaScript
-
29-09-2019 - |
Domanda
Sto cercando di aggiornare dinamicamente l'attributo HTML5 placeholder
di un campo di testo utilizzando jQuery.
$("textarea").attr("placeholder", "New placeholder text");
Da Firebug, posso osservare che l'attributo placeholder
è infatti cambiando. Ma nell'elemento textarea
resa, rimane lo stesso. Qualche suggerimento?
Soluzione
Se si utilizza Firebug posso supporre che si sta utilizzando Firefox e Firefox non supporta ancora l'attributo placeholder
nei campi di immissione stesso.
Segnaposto funzione di rilevamento
Ho appena provato su Chrome per Mac e supporta testo segnaposto sulla textarea (e le modifiche tramite JavaScript)
2015 Aggiornamento: a volte ci guadagno reputazione di questa risposta, quindi voglio chiarire che questo è stato accettato come corretta, perché al momento Firefox 3.6 non supportano l'attributo segnaposto. Release 4 di supporto poi aggiunto ( "risolto il problema" non sarebbe stato giusto) in modo che il codice di opere OP come previsto da allora.
Altri suggerimenti
provare questo:
$('#inputTextID').attr("placeholder","placeholder text");
Credo che bisogna fare quanto segue:
$("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" />
Poi si desidera selezionare il segnaposto e sostituire il testo con il new text that you want to enter
.
$("input[placeholder]").attr("placeholder", "This is new text");
Questo sostituirà il testo della Last, First
a This is new text
.
esempio funzionante di dinamica segnaposto utilizzando Javascript e 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");