Ich sehe dies überall im Web, aber ich frage mich, ob jemand den JavaScript-Code für die einfachste Möglichkeit hat, den Eingabewert für die Unschärfe anzuzeigen, sich aber im Fokus zu verstecken.Wie Ein-/Ausblenden des Eingabewerts im Fokus?
Antwort
Dies ist, was ich auf my blog verwende. Geh einfach hin und sieh dir den Quellcode an.
function displaySearchText(text){
var searchField = document.getElementById('searchField');
if(searchField != null)
searchField.value = text;
}
Ihre Eingabefeld wie folgt aussehen sollte:
<input id='searchField' name='q' onblur='displaySearchText("Search...");' onfocus='displaySearchText("");' onkeydown='performSearch(e);' type='text' value='Search...'/>
Der einfachste Ansatz, den ich kenne ist die folgende:
<input
name="tb"
type="text"
value="some text"
onblur="if (this.value=='') this.value = 'some text'"
onfocus="if (this.value=='some text') this.value = ''" />
Wenn Sie nicht über gültige HTML-Pflege, Sie verwenden das Attribut placeholder
. Es funktioniert bei einer Safari sofort und Sie können einige unauffällige JS hinzufügen, um dieses Verhalten in anderen Browsern nachzuahmen.
More reading:
- http://www.beyondstandards.com/archives/input-placeholders/ (JS Implementierung)
- http://lab.dotjay.co.uk/experiments/forms/input-placeholder-text/
und Google. ;-)
Die Lösung ähnelt der von Josh Stodola, aber es ist flexibler und universeller.
Ich denke nicht zu Vorsicht bei gültigem HTML ist nie gut, oder? Außerdem nur für einen Browser optimieren ... – Juri
Validator ist nur ein Werkzeug. Sie können die Ausgabe ignorieren, solange Sie wissen, was Sie tun.Und die Optimierung für den kommenden Standard ist schließlich nicht so schlecht :) –
Platzhalter scheint jetzt gültig zu sein, außer für guten alten IE. – kdubs
Diese immer für mich gearbeitet:
<input
type="text"
value="Name:"
name="visitors_name"
onblur="if(value=='') value = 'Name:'"
onfocus="if(value=='Name:') value = ''"
/>
ziehe ich jQuery Weg:
$(function(){
/* Hide form input values on focus*/
$('input:text').each(function(){
var txtval = $(this).val();
$(this).focus(function(){
if($(this).val() == txtval){
$(this).val('')
}
});
$(this).blur(function(){
if($(this).val() == ""){
$(this).val(txtval);
}
});
});
});
Es Hide Form Input Values On Focus With jQuery von Zack Perdue modifiziert wird.
Da dies immer noch auf Google auftaucht, möchte ich darauf hinweisen, dass Sie mit HTML 5 das Platzhalterattribut mit einer Eingabe verwenden können, um dies in einem Stück HTML zu erreichen.
<input type="text" id="myinput" placeholder="search..." />
Platzhalter ist jetzt in modernen Browsern Standard, so dass dies wirklich würde die bevorzugte Methode sein.
Für alle Browser:
<input onfocus="if(this.value == 'Your value') { this.value = '';}" onblur="if(this.value == '') { this.value = 'Your value';}" value="Your value" type="text" name="inputname" />
Für neueste Version des Browser:
<input type="text" name="inputname" placeholder="Your value" />
- 1. Höre auf das Löschen des Eingabewerts
- 2. Änderung des Eingabewerts nicht verfolgen können
- 3. Cursorposition abnormal am Ende des Eingabewerts in Chrome
- 4. Übergabe des Eingabewerts an eine andere Seite mit $ _SESSION
- 5. Berechneter Wert Erhalten des vorherigen Eingabewerts mit reactjs setState callback
- 6. Berechnung des Eingabewerts der Bereichsvariablen in Winkel js
- 7. Html-Eingabe, immer im Fokus
- 8. AngularJS: Kraftverlust des Fokus
- 9. Erhalte die ID des Excel-Arbeitsblatts im Fokus mit OLE
- 10. ListGrid Fokus im FilterEditor setzte
- 11. Bilder im Platzhalter im Fokus anzeigen
- 12. Hintergrund Farbe des Textfelds: Fokus
- 13. Das Terminal im Fokus behalten
- 14. Element im Fokus halten nach Zustand
- 15. Herauszufinden, ob das Fenster im Fokus ist
- 16. EditText - Tastatur erscheint nicht im Fokus
- 17. Erkennen des Fokus eines Steuerelements in Silverlight
- 18. deaktivieren Scrollen zu Zelle im Fokus
- 19. ComboBox: ausgewählter Wert bleibt im Fokus (blau)
- 20. WM_INPUT nicht empfangen, wenn nicht im Fokus
- 21. EditText Klartext im ersten Fokus - Android
- 22. Kann Ereignis im Fokus ausgelöst werden?
- 23. WPF-Verbundanwendung - Registerkartenbereich - Ansicht nicht im Fokus
- 24. Alternative zum Festlegen des Fokus innerhalb des Enter-Ereignisses
- 25. Falsches Excel-Fenster im Fokus nach Workbook_Open
- 26. Einstellen des Fokus eines Eingabeelements in vue.js
- 27. Überprüfen, ob Eingangselemente im Fokus sind
- 28. Texteingabefarbfarbe ändert sich nicht korrekt im Fokus
- 29. JOptionPane showMessageDialog Anfrage Fokus im Konsolenprogramm
- 30. DataGrids CellEditingTemplate und Fokus im Bearbeitungsmodus
Huh? Was meinst du mit Show? Was genau versuchst du zu tun? –
So wird die Eingabe zum Beispiel "Suche ..." haben, und wenn Sie auf die Eingabe klicken, würde es leer bleiben. Ich glaube, ich habe bereits die Antwort, aber danke Ian! =] –
Siehe http://stackoverflow.com/questions/1073428/what-the-best-way-to-display-a-default-text-in-textbixes-and-texttareas/1073514#1073514 – Quentin