У вас действительно есть только один выбор здесь.
Так или иначе, вам нужно (пере) переместить вашу форму из представлений.
Причина, по которой открытый фильтр теряет фокус, заключается в том, что весь вид заменяется на ajax. Если ваша форма отображается в том же виде, вы просто не сможете удержать фокус.
Решения (все они включают перемещение вашей формы вне поля зрения):
- Использовать представления «Открытые фильтры в блоке» Рекомендуемая опция
- Настройте пользовательский блок для отображения формы фильтра экспозиции (Требуется написание кода)
Ниже приведены некоторые варианты, которые вы должны избегать, но упомяните здесь в качестве последнего средства.
Вы всегда можете просто взломать файл views.tpl.php, чтобы переместить вашу открытую форму из div основного вида. Я использую здесь "взломать", потому что это не очень хороший вариант. Это поместит форму прямо над вашим представлением, но представления JS-кода только заменят представление div. Это сказанное JS не собирается просто работать. Вам нужно это исправить.
Тогда в крайнем случае вы всегда можете просто использовать JS для перемещения вашей формы. Это очень обескураживает. Потому что форма снова потеряет поведение JS после того, как представления обновят отображение