Ich habe eine Ansicht mit aktiviertem Ajax eingerichtet. Ich habe auch einen exponierten Filter mit automatischer Übermittlung hinzugefügt, damit die Ansicht automatisch aktualisiert wird, wenn der Benutzer das Textfeld eingibt. Das Problem ist, dass das Textfeld beim automatischen Senden des Formulars den Fokus verliert.
Ich habe gelesen, dass ich das exponierte Formular in einen separaten Block trennen muss, diese Option ist jedoch nicht verfügbar, da meine Ansicht selbst ein Block ist.
Jede Hilfe wäre willkommen, da es ein echtes Problem ist, immer wieder in das Textfeld zu klicken, um weiter zu tippen.
Antworten:
Auch eine Problemumgehung für das Kernproblem, aber das Einfügen dieses js in mein Thema löste dieses Problem für mich.
quelle
Sie haben hier wirklich nur eine Wahl.
Auf die eine oder andere Weise müssen Sie Ihr Formular aus den Ansichten (neu) verschieben.
Der Grund, warum der belichtete Filter den Fokus verliert, liegt darin, dass die gesamte Ansicht auf Ajax ersetzt wird. Wenn Ihr Formular mit derselben Ansicht gerendert wird, können Sie den Fokus auf keinen Fall beibehalten.
Lösungen (Alle beinhalten das Verschieben Ihres Formulars aus der Ansicht):
Im Folgenden finden Sie einige Optionen, die Sie vermeiden sollten, die Sie hier jedoch als letzten Ausweg erwähnen sollten.
Sie können Ihre views.tpl.php jederzeit einfach "hacken", um Ihr Exposure-Formular aus der Hauptansicht div zu verschieben. Ich benutze hier "Hack", weil dies keine gute Option ist. Dadurch wird das Formular direkt über Ihrer Ansicht platziert, aber der JS-Code für Ansichten ersetzt nur die Ansicht div. Davon abgesehen wird der JS nicht nur funktionieren. Sie müssen das beheben.
Als letzten Ausweg können Sie Ihr Formular immer mit JS verschieben. Dieser ist sehr entmutigend. Da das Formular erneut das JS-Verhalten verliert, nachdem Ansichten die Anzeige aktualisiert haben
quelle