2件に分かれてしまい申し訳ありません、
さきほど「各解説書や解説サイトでそのような例が載っているために自分の頭で考えない制作者がそのまま真似して悪習が広まった」と書きましたが、そういう事例があまりにもよく見かけられるため、もしやと思って W3C による HTML 4.01 仕様書をあたってみました。
その結果、Introduction to forms (日本語訳-フォームの概説) にて、
<INPUT type="submit" value="Send"> <INPUT type="reset">
と例示されていました。
諸悪の根元はおそらくここにあるのではないかと思います。
リセットボタンは内容を消してしまうわけではありません。
デフォルトの状態に戻す(リセット)するためのものです。
デフォルトの状態に戻すということをうまく利用すれば便利になると思います。
例えば登録フォームで入力内容を送信した後にエラー箇所があり再入力を求められることがありますよね。
このときに正常に入力されていた項目は残しておいて、エラー箇所だけの修正をするわけですが、再度入力間違いをしていることに気づき修正したい場合に、リセットボタンを利用すれば正常に入力されていた箇所は残り、エラーのあった箇所だけを消すことが出来ます。
フォームに工夫が必要ですが、入力項目の多いフォームになれば利用価値が出てくると思います。
>リセットボタンを利用すれば正常に入力されていた箇所は残り、エラーのあった箇所だけを消すことが出来ます。
これは知りませんでした。ただ、一般ユーザの感覚としては「リセット」ボタンを押す=入力内容がすべて消えるという事だと思いますし、おっしゃっているようなリセットボタンの正当な使用法を、一般ユーザが知っているとは思えないのですが。
自分の名前で登録しようとしていて、途中で、他の人(住所も違う他人)に変更したいときに使えます。
一度閉じてしまうと、その前段階の部分まで(登録画面に行くまでの手順)をもう一度踏まなくてはいけないからではないでしょうか
おっしゃっているのは確かに「リセット」ボタンの本来的な使い方だとは思うのですが、個人的にはそういう機会は極端に少ない(ほぼ0)と思います。自分の情報を入力していて、途中でまったくの他人の情報に登録し直そうと思う状況は、あまり想像できません。
こんにちは。
たくさんWebで買い物をした後、注文の際に入力フォームを間違えてしまった場合なんかはそうですね。
あとはそのサイトにログインした後、ログアウトしないでセッションを切った場合しばらくログインできなくなるケースがあります。
そういった事態をさけるためにはリセットボタンを押したりしますね。
いかがでしょうか?
>あとはそのサイトにログインした後、ログアウトしないでセッションを切った場合しばらくログインできなくなるケースがあります。
>そういった事態をさけるためにはリセットボタンを押したりしますね。
このTipは初耳だったのですが、どんなサイトでもそうなんでしょうか。リセットボタンをそういう用途に使えるという情報が、一般ユーザに広く共有されているとは言い難いと思うのですが…。
インターネット初心者の場合、登録作業自体を途中でやめてしまいたい時、ブラウザのウィンドウを閉じたとしても、何かデータが送信されたと思う人がいるのではないでしょうか。
リセットして画面を白紙にしてから画面を閉じた方が安心するということはありえます。
最近は個人情報の漏洩がよく問題になっていますので、敏感になりすぎている人もいるようです。せっかくパソコンを持っていてもサイバー犯罪が怖くてネット自体をやらないという人もいます。
なるほど。そういう面で安心感を与えられる面はあるかもしれませんね。ただ、そのメリットよりも「登録ボタンと間違って押してしまい、せっかく入力した内容がパーに」といった事態に陥るデメリットの方がはるかに大きいように思います。
やはりリセットボタンを配置する意義が見いだせません。いらないんじゃないでしょうかね。
理屈としては2,3と同じく、該当入力は破棄したくないが、そのサイトは見続けたいとき。
具体的には、(1)アンケートに答えようとおもったが、年収まで求められていやだから止めたい、とか、(2)会員登録が必要だが、そこまではやりたくない、とか。
なるほど。サイトは見続けるけど、入力内容は破棄したいという時に、心理的に「リセット」しておきたいと思う人はいるかもしれませんね。ただ、これはあくまで心理的なリセットに過ぎないと思いますし(送信されませんよね?)、送信されないという事を一般ユーザに周知させれば、わざわざリスキーなリセットボタンを配置する必要もなくなるように思います。
登録画面ではなく、編集画面でフォームを使うときは
開いた直後の状態が現在のデータで、どこかの項目を
間違って変更してしまったときに、リセットボタンを
押すと開いた直後のデータに戻りますので便利です。
リセットボタンは結局のところフォームのページが
開いたときの状態に戻すわけですから、おっしゃる
ように登録画面では入力済みのデータが消えますので
あまり意味は無いと思います。編集画面では各フォーム
の値を初期値に戻せますので利用するケースも出てくる
と思います。
登録画面にもなぜリセットボタンをつけるか?これは
作る側が習慣的にフォームにはサブミット(送信・登録)
とリセットボタンをセットで配置する癖・習慣のような
ものでしょう。
そうか、編集画面でのリセットボタンの使用は頭にありませんでした。編集画面に限れば存在意義は十分ありそうですね。
登録画面に限って言えば、送信ボタンとリセットボタンをセットで配置するというのはまったくの惰性の産物、悪しき習慣以外の何ものでもないと思いますので、即刻廃止していただきたいものですね。
「リセット」ボタン (<INPUT TYPE="RESET">) の機能は、「入力した内容を全て消す」ものではなく、正確には「全てデフォルト値に戻す」ものです。
このため、ootatmt さんや fonya3 さんの説明の通り、サーバ側であらかじめ途中まで記入されたフォームを編集中に、最初からやり直したいという状況が発生した場合には若干ですが存在意義があります。
(もっとも、mine-D さんのご指摘の通り、それを知っているユーザは多くないと思いますし、送信ボタンと誤って押してしまった場合の被害の方が大きすぎますね。もしリセットボタンを設置するなら JavaScript で「リセットするけどほんとにいい?」という問いを表示すべきです。)
一方、デフォルト値のない空のフォームの場合は存在意義は全くありません。
それにもかかわらずリセットボタンを設置しているフォームが多く見られるのは、各種 HTML 解説書や解説サイト等で、フォームの HTML サンプルとして SUBMIT ボタンと RESET ボタンが並べられた状態で掲載されており、その弊害をきちんと認識しない制作者がそれを見てそのまま悪習を広めていってしまい今に至るということかと思います。
(とほほのWWW入門でもFORMの使用例としてリセットボタン付きで掲載されています)
ちなみに、弊社では Web 作成のガイドラインの一つとして「特段の意図がない限り、RESET ボタンを FORM に設置してはならない」というルールを設けています。
なお、nil55 さんが書かれている
ログインした後、ログアウトしないでセッションを切った場合しばらくログインできなくなるケースがあります。
そういった事態をさけるためにはリセットボタンを押したりしますね
ですが、それは Web アプリケーションが独自に実装するログアウト機能の話であって、リセットボタン (<INPUT TYPE="RESET">) にはそのような機能は全くありません。
2件に分かれてしまい申し訳ありません、
さきほど「各解説書や解説サイトでそのような例が載っているために自分の頭で考えない制作者がそのまま真似して悪習が広まった」と書きましたが、そういう事例があまりにもよく見かけられるため、もしやと思って W3C による HTML 4.01 仕様書をあたってみました。
その結果、Introduction to forms (日本語訳-フォームの概説) にて、
<INPUT type="submit" value="Send"> <INPUT type="reset">
と例示されていました。
諸悪の根元はおそらくここにあるのではないかと思います。
ありがとうございます。すばらしい。W3Cの仕様書が諸悪の根元だったのですか!ちょっとこれは問題ですね。
リロードすれば画面が新しくなることもわからないような、
ネットリテラシーに欠ける新規顧客の参入を考えた場合に、
安心感をあたえるためぜひとも必要であると考えられます。
いちいち「途中まで入力して最初からやりなおそうとしたら、
リセットがないので、そのまま送信されちゃいました。
これって誤登録されたりつかわれないですか?」
みたいな受付をするのも大変ですからね。
ありがとうございます。
ありがとうございます。すばらしい。W3Cの仕様書が諸悪の根元だったのですか!ちょっとこれは問題ですね。