Görüntülenen filtre otomatik gönderimi odağı kaybediyor


9

Ajax etkin bir görünüm ayarladım. Ayrıca kullanıcı alanına metin alanı yazdıkça görünüm otomatik olarak güncellenecek şekilde otomatik gönderimli açıkta kalan bir filtre ekledim. Sorun, form otomatik olarak sunulduğunda, metin kutusunun odağı kaybetmesidir.

Ben maruz kalan formu ayrı bir blok halinde ayırmak gerektiğini okudum, ancak benim görüşüm bir blok kendisi olduğu için bu seçenek kullanılamaz.

Yazmaya devam etmek için metin kutusuna tıklamaya devam etmek zorunda kalmanız gerçek bir acı olduğu için herhangi bir yardım takdir edilecektir.


2
Bu bilinen bir sorundur: drupal.org/node/1217948 ve düzeltilmesi o kadar kolay değil
Daniel Wehner

Değerleri manuel olarak değiştirmek ve kendi javascript'inizi eklemek için exposed_filter_alter yapabilir misiniz?
Andrew Welch

Yanıtlar:



2

Burada gerçekten tek bir seçeneğiniz var.

Bir şekilde formunuzu görünümlerin dışına (yeniden) taşımanız gerekir.

Maruz kalan filtrenin odağı kaybetmesinin nedeni, görünümün tamamının ajax ile değiştirilmesidir. Formunuz aynı görünümle oluşturuluyorsa, odaklanmaya devam etmenin hiçbir yolu yoktur.

Çözümler (Tümü formunuzu görünümden uzaklaştırmayı içerir):

Aşağıda kaçınmanız gereken bazı seçenekler vardır, ancak burada son çare olarak bahsedilmektedir.

  • Maruz kalma formunuzu ana görünüm div dışına taşımak için her zaman görünümlerinizi "hackleyebilirsiniz". Burada "hack" kullanıyorum çünkü bu hoş bir seçenek değil. Bu, formu görünümünüzün hemen üstüne yerleştirecektir, ancak görünümler JS kodu yalnızca görünüm div'in yerini alacaktır. JS'nin sadece işe yaramayacağı söyleniyor. Bunu düzeltmen gerekecek.

  • Son çare olarak formunuzu taşımak için her zaman JS kullanabilirsiniz. Bu son derece cesaret kırıcı. Çünkü görünümler ekranı güncelledikten sonra form JS davranışlarını kaybedecektir


Başka birinin merak etmesi durumunda, @ericduran tarafından "blokta açıkta kalan formu" koymak için Views 'seçeneğini seçmek için önerilen çözümün yalnızca görünüm bir sayfadaysa kullanılabilir (blok olarak bir görünüm için mevcut değildir) .
Max Starkenburg
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.