Wechseln zu: Navigation, Inhalt

Archiv für JavaScript

Suchformular à la HTML5

HTML5 ist im Kommen und mit ihm ein modifiziertes Formularelement, das Suchfelder durch Aussehen und Funktion von einem normalen Textfeld abgrenzen soll. Dafür bedient man sich des Attributs type im Element input, in das man search anstatt von text einfügt, sodass der Browser erkennen kann, dass es sich um ein Suchfeld handelt. Das Attribut placeholder bietet dabei einen Platzhalter im Eingabefeld, den man vorher nur mit JavaScript realisieren konnte.

Vorher

Safari: type="text"

<form method="get" id="searchform" action="#">
<fieldset>
<legend>Suche</legend>
<input type="text" name="s" value="Suchbegriff" onfocus="if(this.value=='Suchbegriff')this.value = '';" onblur="if(this.value=='')this.value='Suchbegriff';" />
<input type="submit" value="Suchen" />
</fieldset>
</form>

Nachher

Chrome: type="search"

<form method="get" id="searchform" action="#">
<fieldset>
<legend>Suche</legend>
<input type="search" name="s" pattern=".+" required="required" placeholder="Suchbegriff" />
<input type="submit" value="Suchen" />
</fieldset>
</form>

CSS

Eventuell vorhandenes CSS muss natürlich angepasst werden, wofür man folgende Selektoren benutzen kann.

Type: Text

input[type="text"]

Type: Search

input[type="search"]

Weitere Möglichkeiten

Opera: type="search"

Ergänzend bietet sich die Möglichkeit das Suchfeld mit dem Attribut pattern vor dem Absenden auf einen regulären Ausdruck zu prüfen. Da das Suchfeld mindestens irgendein Zeichen enthalten soll, kann man z.B. pattern=".+" angeben. Zusätzlich sollte man noch required="required" setzen, was quasi das gleiche bewerkstelligt. Opera erlaubt dann das Absenden einer leeren Suchanfrage nicht mehr.

Fazit

Ich denke, dass die neuen Attribute sicher in Zukunft das Webdesign vereinfachen werden. Zwar behandeln alte Browser das Suchfeld wie ein Textfeld zuvor, solange die Browser mit den Informationen aber noch unterschiedlich umzugehen, sollte man wohl noch abwarten. Ich habe den Code deshalb nach einer kurzen Testphase erst einmal wieder deaktiviert. Er ware zudem nicht XHTML 1.1 Valid.

Links


Firebug für Safari, Opera und IE

Eines der wichtigsten Werkzeuge bei der Webentwicklung ist die beliebte Firefox-Erweiterung Firebug. Sie hilft Entwicklern und Designern beim alltäglichen Debuggen von Webseiten.

Firebug

Mit Firebug Lite stehen nun auch einige Funktionen in Safari, Opera oder Internet Explorer zur Verfügung.

Firebug Lite

Firebug Lite

Firebug Lite besteht lediglich aus einer JavaScript-Datei. Diese lässt sich leicht in die entsprechenden Seiten integrieren. Man kann sie aber auch als Bookmarklet speichern und für jede Seite nutzen. Möglich wird auf diese Weise ein Test von DOM-Elementen, die Überwachung von XmlHttpRequest-Aufrufen und die Navigation durch HTML-, CSS- und JavaScript-Code.

Links