Cambiar el atributo “marcador de posición” de elementos de entrada HTML5 dinámicamente utilizando Javascript

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

  •  29-09-2019
  •  | 
  •  

Pregunta

Estoy intentando actualizar dinámicamente el atributo HTML 5 placeholder de un campo de texto usando jQuery.

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

A partir de Firebug, que se puede observar que el atributo placeholder es, en efecto cambiando. Pero en el elemento textarea rendido, se mantiene igual. ¿Alguna sugerencia?

¿Fue útil?

Solución

Si está utilizando Firebug que puede suponer que está utilizando Firefox, y Firefox todavía no soporta el atributo placeholder en el propio campo de entrada.

marcador de posición característica de detección de

Sólo traté de Chrome para Mac y es compatible con el texto del marcador de posición en las áreas de texto (y los cambios a través de JavaScript)

Actualización de 2015: a veces gano fama de esta respuesta, así que quiero aclarar que esta fue aceptada como correcta, porque en el momento de Firefox 3.6 no apoyaron atributo marcador de posición. Versión 4 de apoyo a continuación añadido ( "fija el tema" no habría sido justo) por lo que el código de obras OP como se esperaba desde entonces.

Otros consejos

intente lo siguiente:

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

Creo que tiene que hacer lo siguiente:

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

A continuación, desea seleccionar el marcador de posición y reemplazar el texto con el new text that you want to enter.

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

Esto reemplazará el texto de Last, First a This is new text.

ejemplo de trabajo de marcador de posición dinámica con Javascript y 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");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top