ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptを使用してフォームを送信する方法

JavaScriptを使用してフォームを送信する方法

WBOY
WBOYオリジナル
2023-05-09 10:32:372474ブラウズ

Web 開発では、フォームはユーザーが Web サーバーにデータを送信できるようにする一般的な要素です。ユーザーがフォームにデータを入力して送信ボタンをクリックすると、フォームはサーバーにリクエストを送信し、サーバーはリクエストを処理して結果を返します。このプロセスでは、JavaScript を使用してフォーム送信イベントをリッスンすることができるため、ページを更新せずにフォーム データを処理および検証できます。この記事では、JavaScript を使用してフォームを送信する方法について説明します。

1. フォーム コントロール

JavaScript を使用してフォームを送信する前に、まず HTML フォーム コントロールに関する知識を理解する必要があります。フォーム コントロールには、入力ボックス、ドロップダウン ボックス、ラジオ ボタン、チェック ボックスなどが含まれます。 HTML では、これらのコントロールは d5fd7aea971a85678ba271703566ebfd タグで定義され、各タグにはそのタイプを表す type 属性があります。たとえば、テキストの入力に使用される入力ボックスには 23efcc05e98690ceeb219581933e4231 タグを使用でき、フォームの送信に使用されるボタンには 54b28e0e73a12e4a8ed487872a6fb5b8 タグを使用できます。一般的に使用されるフォーム コントロールとそのタイプは次のとおりです:

1. テキスト ボックス

b97cf5df8b28e4a76caaaadaf8e76d05

2 . パスワード ボックス

941744aa44fdd721c0b67eb5ad94b319

3. チェックボックス

a39df70fae9d16c216b919f185c73054水泳

4. ラジオ ボタン

cb136f4facccb7e48fa76e34d3c08152男性

5. ドロップダウン ボックス

27635b6fcc057cb18cd9e06a4cbf5a69
1ce0228a93b5a6b254ce1df3c39bf506Beijing4afa15d3069109ac30911f04c56f3338
8201e5cb8f1812c74225ddced6d38a0e上海4afa15d3069109ac30911f04c56f3338
47898d1bda6c244d06996d6b67045d97広州4afa15d3069109ac30911f04c56f3338
18bb6ffaf0152bbe49cd8a3620346341

2. モニタリング フォーム イベントを送信

JavaScript でフォーム データを処理するには、まずフォームの送信イベントをリッスンする必要があります。 HTML では、フォーム送信イベントは ff9c23ada1bcecdd1a0fb5d5a0f18437 タグによって定義され、JavaScript の addEventListener() メソッドを使用してそれをリッスンできます。たとえば、次のコードは、送信ボタンがクリックされたときにイベントをリッスンします:

var btnSubmit = document.getElementById("btnSubmit");
btnSubmit.addEventListener("click", function(event) {
//フォームデータを処理します
event.preventDefault(); //デフォルトの送信動作を禁止します
});

この例では、最初に送信ボタンの要素を取得します。 getElementById() メソッドを呼び出し、addEventListener() メソッドを呼び出してクリック イベントをリッスンします。イベントハンドラー関数では、フォームデータを取得して処理することができます。最後に、フォームのデフォルトの送信動作が発生しないようにするために、event.preventDefault() メソッドを呼び出してキャンセルします。

3. フォーム データの取得

フォーム送信イベントをリッスンした後、処理するフォーム データを取得する必要があります。 JavaScript では、 document.forms[] コレクションを使用してフォーム要素を取得できます。たとえば、次のコードはユーザー名とパスワードを表す入力ボックス要素を取得します:

var txtUsername = document.forms[0].username;
var txtPassword = document.forms[0].password ;

この例では、document.forms[0] を使用して最初の ff9c23ada1bcecdd1a0fb5d5a0f18437 タグの form 要素を取得し、次に name 属性を通じてユーザー名とパスワードの入力ボックスの要素を取得します。

フォーム データを取得する別の方法は、FormData オブジェクトを使用することです。 FormData は、フォーム データを構築してサーバーに送信するために使用できる新しい API です。たとえば、次のコードは FormData オブジェクトを使用してユーザー情報を渡します:

var formData = new FormData();
formData.append("username", txtUsername.value);
formData .append("password", txtPassword.value);

この例では、まず新しい FormData オブジェクトを作成し、次に append() メソッドを使用してフォーム データを FormData オブジェクトに追加します。最後に、FormData オブジェクトを XMLHttpRequest オブジェクトの send() メソッドに渡して、フォーム データをサーバーに送信します。

4. フォーム データの確認

フォームを送信する前に、フォーム データを確認する必要があります。たとえば、ユーザー名とパスワードが空かどうかを確認できます:

if(txtUsername.value == "") {
alert("ユーザー名を入力してください");
txtUsername.focus () ;
return false; //送信をキャンセル
} else if(txtPassword.value == "") {
alert("パスワードを入力してください");
txtPassword.focus() ;
return false; //送信をキャンセル
} else {
//フォームを送信
return true;
}

この例では、最初にユーザー名が入力ボックスが空です。空の場合は、プロンプト ボックスがポップアップ表示され、カーソルがユーザー名の入力ボックスに移動します。ユーザー名が空でない場合は、パスワード入力ボックスが空かどうかの確認が続けられます。パスワードが空でない場合は、フォームの送信が許可されます。

5. 完全な JavaScript コード例

これで、JavaScript を使用してフォームを送信する方法を学びました。以下は、フォームの送信イベントをリッスンし、フォーム データを取得し、データを検証して、サーバーに送信する完全な JavaScript コードの例です。

var frmLogin = document.getElementById("frmLogin");
frmLogin.addEventListener("submit", function(event) {
var txtUsername = document.forms[0].username;
var txtPassword = document.forms[0].password;

if(txtUsername.value == "") {

alert("请输入用户名");
txtUsername.focus();
event.preventDefault();

} else if(txtPassword.value == "") {

alert("请输入密码");
txtPassword.focus();
event.preventDefault();

} else {

var formData = new FormData();
formData.append("username", txtUsername.value);
formData.append("password", txtPassword.value);

var xhr = new XMLHttpRequest();
xhr.open("POST", "login.php", true);
xhr.onload = function() {
  if(xhr.status == 200) {
    alert(xhr.responseText);
  } else {
    alert("请求失败:" + xhr.status);
  }
};
xhr.send(formData);

event.preventDefault();

}
});

この例では、まず getElementById() メソッドを通じてログイン フォームを表す要素を取得し、addEventListener を呼び出します。 () メソッドを使用して、その送信イベントをリッスンします。イベントハンドリング機能では、ユーザー名とパスワードの入力ボックス要素を取得して判定し、要件を満たしていない場合はプロンプトボックスが表示され、フォームのデフォルト送信動作がキャンセルされます。ユーザー名もパスワードも空の場合は、FormData オブジェクトが作成され、そこにデータが追加されます。最後に、XMLHttpRequest オブジェクトを使用して FormData オブジェクトをサーバーに送信し、応答結果をプロンプト ボックスに表示します。

以上がJavaScriptを使用してフォームを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。