Динамическое изменение атрибута «заполнитель» элементов ввода HTML5 с помощью Javascript

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

  •  29-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь динамически обновить HTML5 placeholder атрибут текстового поля с помощью jQuery.

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

Из Firebug я могу заметить, что placeholder атрибут действительно меняется.Но в рендере textarea элемент, он остается прежним.Какие-либо предложения?

Это было полезно?

Решение

Если вы используете Firebug, я могу предположить, что вы используете Firefox, а Firefox еще не поддерживает placeholder атрибут в самих полях ввода.

Обнаружение функции заполнителя

Я только что попробовал Chrome для Mac, и он поддерживает текст-заполнитель в текстовых областях (и изменения через JavaScript).

Обновление 2015 года:иногда благодаря этому ответу я зарабатываю репутацию, поэтому хочу уточнить, что это было принято как правильное, поскольку в то время Firefox 3.6 не поддерживал атрибут заполнителя.Затем в выпуске 4 была добавлена ​​поддержка («исправить проблему» было бы несправедливо), поэтому с тех пор код OP работает так, как ожидалось.

Другие советы

попробуй это :

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

Я думаю, ты должен это сделать:

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

Затем вы хотите выбрать заполнителя и заменить этот текст на new text that you want to enter.

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

Это заменит текст Last, First к This is new text.

Рабочий пример динамического заполнителя с использованием javaScript и jQueryhttp://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");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top