Hallo
Nun moechte ich das ganze zeitgemaesz ein wenig mit Javascript aufpeppen. Schaue ich auf bereits vorhandene Portale, wie zB. hotels.com², so stelle ich fest, dass viele solcher Seiten direkt beim Veraendern eines einzigen Filterwertes das gesamte Formular erneut auswerten und die Suchergebnisse "in Echtzeit" gefiltert und neu dargestellt werden.
Aber gerade fuer Benutzer, welche nicht nur ein zwei Filteroptionen aendern moechten, stellt sich dieses Vorgehen meiner Meinung nach als ziemlich Benutzerunfreundlich heraus.
Wenn der Benutzer ohne JavaScript nur ein zwei Filteroptionen ändert und die Seite neu lädt, ist das für ihn das Gleiche. Zudem kann es passieren, dass die gewählten Filteroptionen voneinander abhängen, die zweite Option nicht ohne die Wahl der ersten Option zugänglich ist. Der Benutzer muss das Formular also zweimal abschicken, um zum gleichen Ergebnis zu kommen wie mit JavaScript. Beim Einsatz von JavaScript erreicht er das aber ohne Abschicken des Formulars.
Doch was mich daran zb stoert:
- Filterparameter sind nicht in der URL vorhanden (zum. nicht ohne weiteren Aufwand)
Das machst du dann doch mit JavaScript. Wenn das Formular endgültig, nach Festlegung aller Filteroptionen abgesendet wird, werden auch alle Parameter mitgesendet und, so die Übermittlungsmethode GET ist, in der URL erscheinen.
- Einstellungen mehrerer Filteroptionen ist recht umstaendlich (da jedesmal ein Reload der Suchergebnisse angestoszen wird)
Das passiert ohne JavaScript nicht?
- durch eben diese Reloads findet ein erheblicher Overhead statt
Das passiert ohne JavaScript nicht?
So, wir ihr seht, kann ich mich einfach nicht so recht entscheiden.
Was haltet ihr von diesem Thema? Ist die dynamische Ajax-Filterung eine Verbesserung oder eher eine Verschlimmbesserung? Gibt es evtl. sogar eine Kombination beider Wege?
Es ist, gerade bei umfangreichen Auswahlmöglichkeiten mit starken Abhängigkeiten zwischen den wählbaren Werten eine Verbesserung.
Beispiel: Ich suche ein Ersatzteil für ein KFZ. Ich wähle den Hersteller des KFZ, dann den Typ des KFZ, dann die Baugruppe und schlussendlich das zu ersetzende Teil. Alle nachfolgenden Schritte sind von den vorhergehenden Schritten abhängig. Ich kann nach jeder Auswahl das Formular abschicken um die Auswahl einzuschränken oder, durch JavaScript realisiert, für den jeweils nächsten Schritt die passend eingeschränkte Auswahl ohne neuladen der Seite präsentiert bekommen. Beides führt zum Ziel, die JavaScript-Variante ist aber definitiv bequemer und zudem mit weniger Serverlast verbunden.
² Irgendwie hatte das Forum wohl Probleme mit dem Link, daher hier in Plaintext:
http://emea.hotels.com/search.do?searchParams.arrivalDate=04-11-2009&searchParams.departureDate=06-11-2009&queryFormState=CLOSED&searchParams.distance=25.0&destination=Berlin%2C+Germany&showSimilarDestinations=true&children[0]=0&searchViewType=LIST&searchParams.rooms[0].numberOfAdults=2&page=1&destinationId=332483&originatorPage=ADVANCED_SEARCH&activeTab=DESTINATION&rooms=1
Was sagen und geben mir die Parameter in dieser URL? Nichts. Sie sind schwer lesbar und passen bei dieser Menge zudem nicht in die Adresszeile meines Browsers. Ich werde mir im Verlauf der Auswahl wohl kaum die Mühe machen, meine vorigen Eingaben über die Adresszeile zu kontrollieren. Dies, zumal die URL für die Kommunikation zwischen Client (Browser) und Server gedacht ist. Für mich als Mensch ist der Inhalt der Seite, in diesem Fall das Formular, relevant.
Tschö, Auge
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
Veranstaltungsdatenbank Vdb 0.3