Modification dynamique de L'attribut" placeholder " des éléments d'entrée HTML5 à L'aide de Javascript

J'essaie de mettre à jour dynamiquement L'attribut HTML5 placeholder d'un champ de texte en utilisant jQuery.

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

De Firebug, je peux observer que l'attribut placeholder change en effet. Mais dans l'élément rendu textarea, il reste le même. Toutes les suggestions?

33
demandé sur Yi Jiang 2010-10-13 01:56:45

6 réponses

Si vous utilisez Firebug, je peux supposer que vous utilisez Firefox, et Firefox ne prend pas encore en charge l'attribut placeholder dans les champs de saisie lui-même.

Détection de fonction D'espace réservé

Je viens d'essayer sur Chrome pour Mac et il prend en charge le texte de l'espace réservé sur textareas (et les changements via javascript)

2015 Update: parfois, je gagne en réputation pour cette réponse, donc je tiens à préciser que cela a été accepté comme correct car à L'époque Firefox 3.6 ne supportait pas l'espace réservé attribut. La version 4 a ensuite ajouté le support ("correction du problème" n'aurait pas été juste) de sorte que le code D'OP fonctionne comme prévu depuis lors.

15
répondu Minkiele 2015-08-24 13:45:59

Essayez ceci :

$('#inputTextID').attr("placeholder","placeholder text");
50
répondu tilak 2013-07-15 04:12:31

Je pense que vous devez le faire:

$("textarea").val('');
$("textarea").attr("placeholder", "New placeholder text");
18
répondu xavok 2013-03-06 16:59:32
<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" />

Ensuite, vous voulez sélectionner l'espace réservé et remplacer ce texte par le new text that you want to enter.

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

Cela remplacera le texte de Last, First à This is new text.

2
répondu NomanJaved 2014-09-15 18:14:43

Exemple de travail d'espace réservé dynamique utilisant Javascript et 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");
}
}
2
répondu srivenkatesh 2015-01-13 08:40:51

HTML:

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

JS:

$("#fname").attr("placeholder", "New placeholder text");
-1
répondu Yogesh 2017-09-20 07:03:08