Webデザインには、あなたの知らない「落とし穴」がたくさん。大きなものから小さなものまで、それが及ぼす影響はさまざまだ。カンペキだと思っているあなたのサイトも、実はすでに暗い穴の中かも・・・。
|
フォーム二重送信によりデータベース
|
フォームの送信ボタンは、デフォルトでは二重送信可能な場合が多い。顧客の個人情報を大量に管理しなければならないサイトで、このような二重送信が頻発すると、データ容量を圧迫したり、正確な統計データを出せなくなったりする。このような事態に陥ってから、データベースの整理を行うのは作業負担やリスクも大きい。今回は、このような事態を未然に防ぐ方法を紹介しよう。
まず、<head>タグ内に【1】のJavaScriptを記述し、次に、<form>タグ内に【2】の指定を記述する。このように記載することで、一度送信ボタンをクリックすると、2回目からはクリックできなくなり、二重送信を防止することが可能だ。
作業時間もかからず、スクリプトも複雑ではないので、まだ取り入れていない人はすぐに対応するとよいだろう。
まず、<head>タグ内に【1】のJavaScriptを記述し、次に、<form>タグ内に【2】の指定を記述する。このように記載することで、一度送信ボタンをクリックすると、2回目からはクリックできなくなり、二重送信を防止することが可能だ。
作業時間もかからず、スクリプトも複雑ではないので、まだ取り入れていない人はすぐに対応するとよいだろう。
<script type="text/javascript"> <!-- function submitOnce(form) { for(i = 0; i < form.elements.length; i++) { if(form.elements[i].type == "submit") form.elements[i].disabled = true; } } //--> </script> |
【1】<head>タグ内に記述するスクリプト
<form action="demo.html" onsubmit="submitOnce(this);"> |
【2】<form>タグ内に記述するスクリプト
解説:横山 剛
(※本文中、及びキャプション内で使用している「<」、「>」は、全角になります。ご注意ください。)