ここでは本当に1つの選択肢しかありません。
何らかの方法でフォームをビューから(再)移動する必要があります。
公開されたフィルターがフォーカスを失うのは、ビュー全体がajaxで置き換えられているためです。フォームが同じビューでレンダリングされている場合は、フォーカスを維持することはできません。
解決策(すべて、フォームをビューの外に移動する必要があります):
- ビューを使用する "ブロック内の公開フィルター" 推奨オプション
- カスタムブロックをセットアップして、公開フィルターフォームをレンダリングします(コードの記述が必要)
以下は避けるべきいくつかのオプションですが、ここで最後の手段として言及します。
いつでもviews.tpl.phpを「ハック」して、公開フォームをメインビューのdivから移動できます。これは良いオプションではないので、ここでは「ハック」を使用します。これによりフォームがビューの真上に配置されますが、ビューのJSコードはビューのdivを置き換えるだけです。JSは単に機能するわけではないと言われています。あなたはそれを修正する必要があります。
次に、最後の手段として、いつでもJSを使用してフォームを移動できます。これは大変お勧めできません。ビューが表示を更新した後も、フォームはJSの動作を失います。