تغيير سمة "العنصر النائب" لعناصر إدخال 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 ويدعم النص النائب على Textareas (ويتغير عبر 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");
}
}

لغة البرمجة:

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

JS:

$("#fname").attr("placeholder", "New placeholder text");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top