Hallo
ein serverseitiges Skript, das sowohl die Ajax-Anfrage als auch die auf normalem Wege abgeschickte Formulareingabe entgegennimmt und verarbeitet.
Ist das Standard?
Naja, man kann dafür auch zwei Skripte vorhalten. In diesem Fall (Auslieferung von Suchvorschlägen anhand von Teileingaben (Ajax) versus Auslieferung von Suchergebnissen anhand als vollständig anzusehender Eingaben (Absenden des Formulars)) kann man das als zwei verschiedene Aufgaben sehen, die von zwei Skripten zu erledigen sind. Meiner Meinung nach sind die Aufgaben aber hinreichend ähnlich, so dass man sie auch mit einem serverseitigen Skript abfrühstücken kann.
In beiden Fällen wird eine Eingabe angeliefert. In beiden Fällen soll eine gleichartige Suche stattfinden. In einem Fall (Ajax) sollen mit der Eingabe übereinstimmende oder sie enthaltende Suchergebnisse als Rohdaten zurückgeliefert werden, die per JS in das Dokument/DOM eingebaut werden. Im anderen Fall (Response auf das „normal“ abgesendete Formular) sollen mit der Eingabe übereinstimmende oder sie enthaltende Suchergebnisse als Teil des auszuliefernden Dokuments zurückgeliefert werden.
Mit einer Unterscheidung der Art der Anfrage lässt sich das schon mit einem Skript erledigen, da die meisten Codeteile für beide Aufgaben gleich sein werden.
Für Ajax-Anfragen habe ich jeweils ein Mini-PHP-Programm. Kurzer Check des Suchbegriffs, Öffnen der Datenbank, lesen von max. 25 Vorschlägen, Erzeugen und Absenden eines CSV-Strings. Nach ein- bis zweihundertstel Sekunden ist der Server damit fertig.
Mache ich, abgesehen vom Datenformat der Antwort (ich benutze JSON), auch so.
Das Aufbereiten der Vorschlagsliste erfolgt beim Client per Javascript.
Man könnte auch fertigen HTML-Code als Antwort auf den Ajax-Request zurückgeben, der dann in Gänze an der passenden Stelle in das DOM eingehängt wird. Bei deinen maximal 25 Vorschlägen wird der Client aber wohl nicht übermäßig beansprucht, so dass man die Aufbereitung der Rohdaten für die HTML-Ausgabe getrost im Browser erledigen kann.
wäre es schon sehr befremdlich, wenn ein ausgerechnet per Ajax geladener Suchvorschlag nicht mit der Tastatur erreichbar wäre.
Dazu bitte ich um ein Code-Beispiel (Link). Bei Google steige ich nicht durch.
Ich weiß, dass du für deine Suchvorschläge eine eigene Lösung, die ich in ihren Einzelheiten nicht kenne, mit irgendwie fest positionierten Blöcken benutzt. Ich selbst würde das nicht so tun, sondern auf die von HTML bereitgestellte Datalist zurückgreifen. Mir fällt partout kein Grund ein, warum die nicht per Tastatur bedienbar sein sollte. Ein Codebeispiel erübrigt sich daher meiner Meinung nach.
Tschö, Auge
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett