- イベントハンドラを使用する方法:
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>
- 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でフォームの送信を処理することができます。必要に応じて、バリデーションやサーバーへのデータ送信の具体的な実装をカスタマイズしてください。