Platzhaltertext ändern


77

Wie kann ich den Platzhaltertext eines Eingabeelements ändern?

Zum Beispiel habe ich 3 Eingaben vom Typ Text.

<input type="text" name="Email" placeholder="Some Text">
<input type="text" name="First Name" placeholder="Some Text">
<input type="text" name="Last Name"placeholder="Some Text">

Wie kann ich den Text von Some Text mit JavaScript oder jQuery ändern ?


9
Hast du es versucht $('input').attr('placeholder','Some New Text');?
— Jeemusu

1
Haben Sie etwas mit Javascript oder JQuery versucht? Bitte posten Sie, was Sie versucht haben und mit welchen Problemen Sie konfrontiert waren.
— Ryadavilli

Sie können malarkey
— undefined

Antworten:


142

Wenn Sie Javascript verwenden möchten, können getElementsByName()Sie die inputFelder mit der Methode auswählen und placeholderfür jedes Feld ändern ... siehe folgenden Code ...

document.getElementsByName('Email')[0].placeholder='new text for email';
document.getElementsByName('First Name')[0].placeholder='new text for fname';
document.getElementsByName('Last Name')[0].placeholder='new text for lname';

Andernfalls verwenden Sie jQuery:

$('input:text').attr('placeholder','Some New Text');

29
+1, um nativ zu werden, ohne externe Bibliotheken zu verwenden ... Die Benutzer müssen auf die DOM-APIs achten. Möglicherweise müssen Sie nicht eine ganze Bibliothek verwenden, um so etwas Einfaches zu tun.
— Ahmad Alfy

Oft enthält das Feld bereits einen Wert, sodass der Platzhalter nicht sichtbar ist. Sie müssen den Wert löschen. var email = document.getElementsByName("Email")[0]; email.value=''; email.placeholder='new text for email';
— Askrynnikov

28

Diese Lösung verwendet jQuery. Wenn Sie für alle Texteingaben denselben Platzhaltertext verwenden möchten, können Sie diesen verwenden

$('input:text').attr('placeholder','Some New Text');

Wenn Sie unterschiedliche Platzhalter möchten, können Sie die ID des Elements verwenden, um den Platzhalter zu ändern

$('#element1_id').attr('placeholder','Some New Text 1');
$('#element2_id').attr('placeholder','Some New Text 2');


5

Mit jquery können Sie dies tun, indem Sie den folgenden Code verwenden:

<input type="text" id="tbxEmail" name="Email" placeholder="Some Text"/>

$('#tbxEmail').attr('placeholder','Some New Text');

4

Ich habe das gleiche Problem konfrontiert.

In JS müssen Sie zuerst das Textfeld der Texteingabe löschen. Andernfalls wird der Platzhaltertext nicht angezeigt.

Hier ist meine Lösung.

document.getElementsByName("email")[0].value="";
document.getElementsByName("email")[0].placeholder="your message";

Korrekt. Ohne zuerst das Feld leer zu setzen, wird der Platzhalter nicht angezeigt. Ich habe lange Zeit damit verbracht, bis ich auf diesen Beitrag gestoßen bin.
— User12345

0

Versuchen Sie, auf das Platzhalterattribut der Eingabe zuzugreifen, und ändern Sie den Wert wie folgt:

$('#some_input_id').attr('placeholder','New Text Here');

Kann den Platzhalter bei Bedarf auch löschen wie:

$('#some_input_id').attr('placeholder','');

0

Für JavaScript verwenden Sie:

document.getElementsByClassName('select-holder')[0].placeholder = "This is my new text";

Für jQuery verwenden Sie:

$('.select-holder')[0].placeholder = "This is my new text";
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.