Set default value für das Suchfeld - Bitte Hilfe!!!
Ich versuche, um einen Standardwert für ein Feld "suchen". Die Idee ist, dass das Suchen-Feld den Wert "Suchen", bis der Benutzer klickt hinein, dann sollte es leer sein. So lange, wie es ist "leer" (mit "Search" den Wert ein) es sollte die Klasse ".blank".
Habe ich versucht, dieses
<input autocomplete="off" class="" id="searchq" name="searchq" onblur="if (this.value == '') { this.value='Search'; jQuery(this).addClass('blank'); };" onfocus="if (this.value == 'Search') { this.value=''; jQuery(this).removeClass('blank'); };" type="text" value="" />
es funktioniert so weit, aber wenn ich laden Sie die Website, das Feld ist einfach leer. Ich muss Sie in das Feld zuerst, und dann irgendwo auf die Seite, um den Effekt zu arbeiten.
Ich denke, es hat etwas zu tun mit onBlur. Irgendwelche Ideen?
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist bekannt als ein Wasserzeichen. sehen http://digitalbush.com/projects/watermark-input-plugin/ für ein Beispiel
Eine weitere Idee ist, setzen Sie Platzhalter in Ihrer input-Typen:
(Hinweis: dies ist HTML5.)
<input type=text placeholder="Default text here"/>
diese Weise wird das textfield wird zeigen, in eine graue Textfarbe: Standard-text hier. Einmal angeklickt, wird den text entfernen und ersetzen Sie es mit Ihrem aktuellen text-und wenn er leer ist kommt es wieder.
Gib es einfach der default-Wert 'Suchen' hardcoded, wie in
Klingt wie Sie brauchen nur zu setzen den ersten Wert auf
Search
direkt in das input-tag, etwa so:Beachten Sie, dass wir auch die erste Klasse
blank
als gut.Habe das problem gefunden, mein Fehler: onBlur aufgerufen wird, wenn der Benutzer klickt woanders hin. onLoad ist nur zulässig für die tags BODY und FRAMESET. Die Lösung ist, um den Standard-Wert irgendwo serverseitig (bei mir in der application_controller, wenn kein Suchbegriff übermittelt wird).
Trotzdem danke!
Unschärfe ist, wenn ein Feld verliert Fokus, es kann nicht an Fokussierung verliert, bis es den Fokus hat, um mit zu beginnen, daher müssen Sie klicken Sie in das Feld, klicken Sie dann auf, um zu sehen, dass es funktioniert. haben Sie versucht, die Einstellung der Klasse zu .standardmäßig leer ?
Hier ist ein snippet, das ich verwenden, um dies zu tun. Es gibt vielleicht einfachere Möglichkeiten, aber so funktioniert es. Ein beliebiges Element mit der Klasse .cleardefault der Wert gelöscht, auf den ersten mouseover. Ein beliebiges Element mit der Klasse .setcleardefault wird klar, dass die Standard-und, wenn der Nutzer nichts in die box, stellen Sie es auf den Standardwert auf die Maus.