カテゴリ: JavaScript 更新日: 2026/02/05

JavaScriptのフォーム送信イベントの仕組みと活用例

JavaScriptのフォーム送信イベントの仕組みと活用例
JavaScriptのフォーム送信イベントの仕組みと活用例

先生と生徒の会話形式で理解しよう

生徒

「Webサイトで入力フォームを送信したときに、自動で何か処理をしたいです。」

先生

「それなら、JavaScriptのフォーム送信イベントsubmitを使います。フォームが送信されるタイミングで処理を実行できるんです。」

生徒

「送信する前に入力内容をチェックすることもできますか?」

先生

「もちろんです。submitイベントで入力内容を確認して、不備があれば送信を止めることもできます。」

1. submitイベントとは?

1. submitイベントとは?
1. submitイベントとは?

フォームのsubmitイベントは、ユーザーが送信ボタンをクリックしたときやEnterキーを押したときに発生します。JavaScriptでこのイベントを使うと、送信時に独自の処理を加えることができます。例えば、入力内容の検証やアラート表示、非同期通信などです。

2. フォーム送信を止める方法

2. フォーム送信を止める方法
2. フォーム送信を止める方法

フォーム送信を止めるには、イベントオブジェクトのpreventDefault()メソッドを使います。これにより、サーバーに送信される前に処理を行うことが可能です。


const form = document.getElementById("myForm");

form.addEventListener("submit", function(event) {
  const input = document.getElementById("name").value;
  if (input === "") {
    event.preventDefault(); // 送信を止める
    alert("名前を入力してください");
  }
});

この例では、名前が空の場合は送信を止め、アラートで警告を表示しています。

3. 送信時に非同期で処理する方法

3. 送信時に非同期で処理する方法
3. 送信時に非同期で処理する方法

フォーム送信時にページをリロードせずにデータを送信したい場合は、fetchXMLHttpRequestを使った非同期通信が便利です。


form.addEventListener("submit", function(event) {
  event.preventDefault(); // ページリロードを防ぐ

  const formData = new FormData(form);
  fetch("/submit", {
    method: "POST",
    body: formData
  })
  .then(response => response.text())
  .then(data => {
    console.log("送信結果:", data);
  });
});

この例では、サーバーにフォームデータを非同期で送信し、結果をコンソールに表示しています。ユーザーはページのリロードなしで操作できます。

4. 入力内容をチェックして送信する方法

4. 入力内容をチェックして送信する方法
4. 入力内容をチェックして送信する方法

フォーム送信前に入力内容をチェックして、不正なデータを防ぐことが大切です。例えば、メールアドレスの形式を確認することも可能です。


form.addEventListener("submit", function(event) {
  const email = document.getElementById("email").value;
  const emailPattern = /^[^@\s]+@[^@\s]+\.[^@\s]+$/;

  if (!emailPattern.test(email)) {
    event.preventDefault();
    alert("正しいメールアドレスを入力してください");
  }
});

この例では、正規表現を使ってメールアドレスの形式を確認し、正しくなければ送信を止めます。

5. まとめのポイント

5. まとめのポイント
5. まとめのポイント

フォーム送信イベントは、ユーザーが送信操作をしたときに発生するイベントです。submitイベントを活用することで、送信前の入力チェックや非同期送信、ユーザーへのフィードバックを行うことができます。イベントオブジェクトのpreventDefault()を使うことで、送信を一時的に止めてカスタム処理を実行することが可能です。

これにより、ユーザーにとって使いやすく、安全なフォーム操作が実現できます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptのDOMContentLoadedとloadイベントの違いを理解しよう
No.8
Java&Spring記事人気No8
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】