Ich denke, es ist eine einfache Frage, aber ich weiß nicht, wie ich diese Frage in Google suchen soll
Ich brauche einen Hintergrundtext in einem Eingabetextfeld. Wie: Geben Sie Ihren Namen ein. Und wenn ich in das Feld drücke, um meinen Namen einzufügen, verschwindet der Text
Ich empfehle nicht mehr, Ihre eigenen Polyfills zusammenzuhacken, wie ich unten gezeigt habe. Sie sollten Modernizr verwenden, um zunächst zu erkennen, ob überhaupt ein Polyfill benötigt wird, und dann eine Polyfill-Bibliothek aktivieren, die Ihren Anforderungen entspricht. Es gibt eine gute Auswahl an Platzhalter-Polyfills im Modernizr-Wiki aufgeführt.
ORIGINAL (Fortsetzung):
Und hier ist eine Polyfill für die Kompatibilität:
Ein besserer Shim-Ansatz besteht darin, dieses Skript beim Laden der Seite auszuführen und Ihre Platzhalter in das data-placeholder-Attribut einzufügen, sodass Ihr Markup so aussieht:
Ein potenzielles Problem (nicht sehr wahrscheinlich, aber immer noch) beim Ändern des Werts besteht darin, dass der Benutzer genau das Wort oder die Wörter eingegeben hat, die den Platzhalter darstellen, und es geht verloren. Auch wenn Sie ein Passwort haben, müssen Sie die Eingabe von Passwort zu Text und zurück auf dem Weg umwandeln …
– Alexis Wilke
20. März 2017 um 23:28 Uhr
Gibt es eine Möglichkeit, den verbleibenden Platzhalter anzuzeigen, damit er nicht verschwindet, wenn Sie mit der Eingabe beginnen?
– Michael
21. April 2017 um 17:51 Uhr
@Michael Ich bin mir nicht sicher, was du meinst. Möchten Sie, dass “er irgendetwas” sichtbar bleibt, nachdem Sie “foo” eingegeben haben?
– Asad Saeeduddin
21. April 2017 um 18:39 Uhr
Ja. Obwohl der Platzhalter in meinem Fall eher so etwas wie “XXX-YY-ZZZZ” ist, wobei X, Y und Z für den Benutzer bestimmte Bedeutungen haben. Sieht so aus, als gäbe es keine “eingebaute” Möglichkeit, dies zu tun?
– Michael
21. April 2017 um 18:59 Uhr
@Michael Ah. Dies wird als Eingabemaskierung bezeichnet, und dafür gibt es eine ganze Reihe von Bibliotheken / Artikeln usw. Es ist ziemlich einfach zu implementieren, aber es ist nichts eingebaut.
– Asad Saeeduddin
21. April 2017 um 19:46 Uhr
Xavi Lopez
HTML5 bietet eine placeholder Attribut, das dieses spezielle Problem anspricht. Sehen dieser Link für mehr Informationen (JSFiddle)
<input type="text" placeholder="insert your name" />
Sie können jederzeit einen Nicht-HTML5-Javascript-Fallback bereitstellen, wie der erläuterte hier, oder in None jquery Platzhalter-Fallback? wenn Sie JQuery nicht verwenden.
Kühl! So ja! Aber jetzt ist die Farbe des Platzhalters zu dunkel … wie kann ich die Farbe ändern?
– Benutzer1671245
25. Oktober 2012 um 15:22 Uhr
Siehe HTML5-Platzhalterfarbe einer Eingabe mit CSS ändern.
– Xavi Lopez
25. Oktober 2012 um 15:24 Uhr
wow. so viele Upvotes: P cool, danke. markiere dich als Antwort akzeptieren, um zuerst beide Fragen zu beantworten,,, in zwei Minuten
– Benutzer1671245
25. Oktober 2012 um 15:30 Uhr
Ich glaube, Sie suchen nach Platzhaltern für HTML5-Formularfelder … 🙂
Für Nicht-HTML5 schlage ich eine nette Javascript-Lösung wie toggleval.js vor – dadurch müssen Sie nicht jedes Eingabefeld selbst inline machen; es wäre global.
Verwenden Sie das Platzhalterattribut und einen JavaScript-Fallback. jsfiddle.net/q3V4E
– Asad Saeeduddin
25. Oktober 2012 um 15:18 Uhr
Wenn Sie HTML5 verwenden, verwenden Sie das Platzhalterattribut. Wenn Sie HTML verwenden, müssen Sie es mit Javascript implementieren.
– Sven Bieder
25. Oktober 2012 um 15:19 Uhr