Mam skonfigurowany widok z włączonym ajaxem. Dodałem również odsłonięty filtr z włączoną funkcją automatycznego wysyłania, aby podczas wpisywania użytkownika w polu tekstowym widok był aktualizowany automatycznie. Problem polega na tym, że gdy formularz przesyła się automatycznie, pole tekstowe traci ostrość.
Przeczytałem, że muszę rozdzielić odsłoniętą formę na osobny blok, jednak ta opcja nie jest dostępna, ponieważ mój widok jest samym blokiem.
Jakakolwiek pomoc byłaby mile widziana, ponieważ to prawdziwy ból związany z koniecznością ciągłego klikania w polu tekstowym, aby kontynuować pisanie.
Odpowiedzi:
Również obejście podstawowego problemu, ale włączenie tego js do mojego tematu rozwiązało ten problem dla mnie.
źródło
Masz naprawdę tylko jeden wybór tutaj.
Tak czy inaczej musisz (ponownie) przenieść formularz poza widoki.
Powodem, dla którego odsłonięty filtr traci fokus, jest to, że cały widok jest zastępowany w ajax. Jeśli twoja postać jest renderowana przez ten sam widok, po prostu nie ma możliwości, abyś mógł się skupić.
Rozwiązania (wszystkie obejmują przeniesienie formularza z widoku):
Poniżej znajduje się kilka opcji, których należy unikać, ale wspominając o tym w ostateczności.
Zawsze możesz po prostu „zhakować” swoje views.tpl.php, aby przenieść formularz ujawnienia poza główny div widoku. Używam tutaj „hack”, ponieważ nie jest to dobra opcja. Spowoduje to umieszczenie formularza bezpośrednio nad twoim widokiem, ale kod JS wyświetleń zastąpi tylko div widoku. Biorąc to pod uwagę, JS nie będzie po prostu działać. Musisz to naprawić.
Następnie w ostateczności zawsze możesz po prostu użyć JS, aby przenieść formularz. Ten jest bardzo odradzający. Ponieważ ponownie formularz straci zachowanie JS po tym, jak widoki zaktualizują wyświetlanie
źródło