フォーム二重送信によりデータベースが混乱してしまう落とし穴 | デザインってオモシロイ -MdN Design Interactive-

フォーム二重送信によりデータベースが混乱してしまう落とし穴

2024.4.27 SAT

【サイトリニューアル!】新サイトはこちらMdNについて


Webデザインには、あなたの知らない「落とし穴」がたくさん。大きなものから小さなものまで、それが及ぼす影響はさまざまだ。カンペキだと思っているあなたのサイトも、実はすでに暗い穴の中かも・・・。




フォーム二重送信によりデータベース
が混乱してしまう落とし穴


 フォームの送信ボタンは、デフォルトでは二重送信可能な場合が多い。顧客の個人情報を大量に管理しなければならないサイトで、このような二重送信が頻発すると、データ容量を圧迫したり、正確な統計データを出せなくなったりする。このような事態に陥ってから、データベースの整理を行うのは作業負担やリスクも大きい。今回は、このような事態を未然に防ぐ方法を紹介しよう。

まず、<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>タグ内に記述するスクリプト


解説:横山 剛

(※本文中、及びキャプション内で使用している「<」、「>」は、全角になります。ご注意ください。)





twitter facebook このエントリーをはてなブックマークに追加 RSS
【サイトリニューアル!】新サイトはこちらMdNについて

この連載のすべての記事

アクセスランキング

8.30-9.5

MdN BOOKS|デザインの本

Pick upコンテンツ

現在