ブラウザー組み込みのオートコンプリート/オートフィルは、同期ページの読み込み中にのみトリガーされます。したがって、フォームを ajax でロードしている場合、オートコンプリート/オートフィルはトリガーされません。どうやらそれがここで起こっていることです。解決策は明らかです。オートコンプリート/オートフィルが必要なフォームを同期的にロードする必要があります。たとえば、、<h:link>
など<h|p:button>
、または を使用したナビゲーションfaces-redirect=true
。
特定の入力フィールドはログイン フォームの一部のように見えるので、完全を期すために追加したいのですが、考慮すべきもう 1 つのことは、ログイン フォームのユーザー名/パスワードです (フォームがログイン フォームである場合、フォームはログイン フォームと見なされます)<input type="password">
ログイン自体が ajax によって送信された場合、少なくとも 1 つのフィールド) はオートコンプリート/オートフィル用に記憶されません。実際のログインは同期的に実行する必要があります。これに使えます<p:commandButton ajax="false">
。
具体的な問題は JSF とはまったく関係がないことに注意してください。この質問のコンテキストでは、単なる HTML コード ジェネレーターです。まったく同じ HTML 出力を生成する別のサーバー側言語を使用している場合や、プレーンなバニラ HTML を使用している場合でも、まったく同じ問題が発生する可能性があります。