Webサイトのサインアップフォームを作成しています。さまざまな標準フォームフィールドが含まれています。など:名前、住所、電話番号、ユーザー名、パスワードなど。
フィールドをダブルクリックすると(Chrome 16)、アドレスを自動入力できるようになると、次のメッセージが表示されます。
このウェブページでは、このフォームの自動入力が無効になっています。
無効にしませんでしたが、有効にするにはどうすればよいですか? autocomplete="on"
タグと(一部の)<form>
タグに<input>
を追加しようとしましたが、役に立ちませんでした。
すべてのフィールドにautocomplete="on"
を追加する必要がありますか?また、ブラウザはどのフィールドが何であるかをどのように知るのですか?フィールドに特別な名前を付ける必要がありますか?
別の質問:フォームが自動入力されたときにトリガーされるonautocomplete
イベントのようなものはありますか?私のフォームでは、郵便番号を入力すると、AJAXを使用してデータベースを検索し、州と都市を取得します(郵便番号は複数の都市に対応しているため、都市と州はドロップダウンです)。あなたのために。フォームが自動入力された後に実行できることを望んでいました。
追伸私はjQuery フォーム検証 プラグインを使用しています。
問題は、formタグに_method="POST"
_がなかったことです。
メッセージをググリングした後、 バグレポート と、 コメント の1つに_method="POST"
_と記載されています。
_method="POST"
_を追加しました。自動入力が機能します。
場合によっては、フォームにない場合はaction
を追加する必要があります。 action="javascript:void(0)"
は機能します。
注:自動入力はonchange
イベントをトリガーするようです。
注2:ブラウザがどのフィールドが何であるかを知る方法については、この質問を参照してください: Google Chromeでオートフィルをトリガーする方法?
Autcompleteをオフにするオプションは、通常formタグにあります。Mozilla here の開発者ページを参照してください。これは、通常、その属性を削除すると、Webページで再び有効になることを意味するはずです。
AJAXリクエストの2番目の部分については、そのためのリスナーはないと思いますが、たとえばx秒ごとにフィールドの値をチェックする関数を追加できます。ルックアップを実行できるようになりました。