Cambiando l'attributo “placeholder” degli elementi di input HTML5 dinamico utilizzando JavaScript

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

  •  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?

È stato utile?

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");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top