Eu configurei uma visualização com o ajax ativado. Também adicionei um filtro exposto com o envio automático ativado para que, à medida que o usuário digite no campo de texto, a exibição seja atualizada automaticamente. O problema é que, quando o formulário é enviado automaticamente, a caixa de texto perde o foco.
Eu li que preciso separar o formulário exposto em um bloco separado, no entanto, essa opção não está disponível, pois minha visualização é um bloco em si.
Qualquer ajuda seria apreciada, pois é uma verdadeira dor ter que continuar clicando na caixa de texto para continuar digitando.
Respostas:
Também foi uma solução alternativa para o problema principal, mas a inclusão desse js no meu tema resolveu esse problema para mim.
fonte
Você realmente só tem uma escolha aqui.
De uma forma ou de outra, você precisa (re) mover seu formulário para fora das visualizações.
A razão pela qual o filtro exposto perde o foco é porque toda a exibição está sendo substituída no ajax. Se o seu formulário estiver sendo renderizado pela mesma visualização, não há como você manter o foco.
Soluções (todas envolvem a remoção do formulário):
Abaixo estão algumas opções que você deve evitar, mas mencionando aqui como último recurso.
Você sempre pode "hackear" seu views.tpl.php para mover seu formulário de exposição para fora da div principal da visualização. Eu uso "hack" aqui porque esta não é uma boa opção. Isso colocará o formulário logo acima da sua visualização, mas o código JS das visualizações só substituirá a div da visualização. Dito isto, o JS não vai funcionar apenas. Você precisará consertar isso.
Então, como último recurso, você sempre pode usar o JS para mover seu formulário. Este é altamente desencorajar. Porque, novamente, o formulário perderá os comportamentos JS após as visualizações atualizarem a exibição
fonte