jQueryを使用せずにJavaScriptでフォームの送信を処理する方法


メソッドの代替手段として、JavaScriptの純粋な方法でフォームの送信を処理する方法を説明します。以下に、原因の分析といくつかのコード例を示します。

  1. イベントハンドラを使用する方法: HTMLのフォーム要素にonsubmit属性を追加し、JavaScriptの関数を指定します。関数内でフォームのバリデーションを行い、必要な処理を実行します。
<form onsubmit="handleFormSubmit(event)">
  <!-- フォームの内容 -->
  <input type="submit" value="送信">
</form>
<script>
function handleFormSubmit(event) {
  event.preventDefault(); // フォームのデフォルトの送信をキャンセル
  // フォームのバリデーションを行う
  if (validateForm()) {
    // フォームが有効な場合の処理
    // XMLHttpRequestやfetchを使用してデータを送信するなどの操作を行う
  }
}
function validateForm() {
  // フォームのバリデーションルールを実装する
  // 必要なバリデーションチェックを行い、結果を返す
}
</script>
  1. XMLHttpRequestを使用する方法: フォームの内容をJavaScriptで直接処理するために、XMLHttpRequestオブジェクトを使用します。以下は例です。
<form id="myForm">
  <!-- フォームの内容 -->
  <input type="submit" value="送信">
</form>
<script>
document.getElementById("myForm").addEventListener("submit", function(event) {
  event.preventDefault(); // フォームのデフォルトの送信をキャンセル
  // フォームのバリデーションを行う
  if (validateForm()) {
    // XMLHttpRequestを使用してデータを送信する
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "サーバーのURL", true);
    xhr.setRequestHeader("Content-Type", "application/json");
    var formData = {
      // フォームのデータを取得し、必要な形式に整形する
    };
    xhr.onreadystatechange = function() {
      if (xhr.readyState === 4 && xhr.status === 200) {
        // 送信成功時の処理
      } else {
        // 送信失敗時の処理
      }
    };
    xhr.send(JSON.stringify(formData));
  }
});
function validateForm() {
  // フォームのバリデーションルールを実装する
  // 必要なバリデーションチェックを行い、結果を返す
}
</script>

これらの方法を使用することで、jQueryを使用せずにJavaScriptでフォームの送信を処理することができます。必要に応じて、バリデーションやサーバーへのデータ送信の具体的な実装をカスタマイズしてください。