フォームの履歴(オートコンプリート?)に関する質問です。

通常、履歴として表示されるのは、そのフォーム自体に入力した語句であるのが普通だと思うのですが、
・yahooのフォームに某PCショップのフォームに入力した語句の履歴が表示される
・初見のメタ検索サイトのフォームに某ネット書店のフォームに入力した語句の履歴が表示される
みたいな事があり、いまいち法則が分かりません。ブラウザはfirefoxを使用しています。
一体、入力した履歴はどのように保存され、またどのような法則で表示されるのでしょうか。
ご存知の方、もしよろしければ教えてください。

回答の条件
  • 1人2回まで
  • 登録:2008/10/17 22:53:22
  • 終了:2008/10/17 23:45:53

回答(2件)

id:u00 No.1

u00回答回数50ベストアンサー獲得回数82008/10/17 23:00:49

ポイント48pt

入力フォームの窓にはnameという属性で名前を付けてあります。

この名前がごく一般的な文字列、例えば"email"などと付けてあった場合に別のサイトで同じく"email"と付けてあるフォームがあった時そういうことが起こります。

こういった現象が起こらないようにするためには名前をできるだけユニークなものにしておくべきなのですが、多くのサイトで共通の名前がついていることが多いですね。


 <input type="text" name="email" maxlength="100" size="35" value="" onchange="email2.value='';">
id:dxdxdx

早速ソースを見てみた所、確かにnameがどちらのサイトも"q"になってました!

いやーすっきりしました、ありがとうございます!

2008/10/17 23:36:39
id:ardarim No.2

ardarim回答回数892ベストアンサー獲得回数1422008/10/17 23:14:56

ポイント48pt

WebページのHTMLソース上、フォームの入力欄にはそれぞれ識別用の名前(ID)が付いています。これはHTMLソース内で複数の入力欄を識別するために付けられるもので、画面には表示されません。

一般的にフォームの入力欄に入力されたデータはブラウザによって保存されて履歴として残りますが、フォームの入力履歴はサイトごとには管理されておらず、単に入力欄に付けられた名前で管理されています。


そのため、別々のサイトであっても、たまたまフォームの入力欄に同じ「名前」が付いていると、別のサイトに入力したデータが表示されることがありえます。

これは、例えば name とか address のような良く使われる名前のフォームでおきやすいですが、逆に良く使われる名前の入力欄は、どのサイトでも一般的に同じ内容を記入することが多いので、便利になることもあります。

例えば address というフォームには普通住所を入力する欄であることが多いため、1つのサイトで入力した住所を別のサイトでも履歴から呼び出せると便利な場合があります。そのような思想でこのような仕様になっていると考えられます。


履歴を見ることができるソフトもありますので、一度覗いてみるとどういうものか仕組みが良くわかると思います。

Firefox用であれば、例えば次のようなものがあります。

窓の杜 - 【NEWS】「Firefox」のフォームで入力履歴の個別削除や自動補完の抑止を行うプラグイン

ダウンロード先

id:dxdxdx

詳しい説明ありがとうございます。そう言われてみればメールや住所を入力する時、履歴から呼び出せる場合がほとんどでした。うまい事なっているものですね。

プラグインを早速入れたので、これから色々と覗いてみたいと思います。ありがとうございました!

2008/10/17 23:45:08
  • id:dxdxdx
    ご紹介いただいたプラグインはfirefox1.5までにしか対応していなく、残念ながら使えませんでした。
    無念
  • id:ardarim
    バージョンまでは確認していませんでした。すみません。
    ちょっと探しては見たんですが、最新のものでは同様のものはないようです。残念。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません