JavaScriptでonsubmitを使う方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptでonsubmitを使う方法について現役エンジニアが解説しています。onsubmitは、送信ボタンが押された時に起動するイベントです。form要素を取得してaddEventListenerでsubmitイベントを設定します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

JavaScriptでonsubmitを使う方法について解説します。実際のコードをもとに解説していきますので、理解を深めていきましょう。

また、入門向けのJavaSriptを学習できるサイトも紹介しているので、合わせてご覧ください。

 

なお本記事は、オンラインブートキャンプ フロントエンドコース(JavaScript・jQuery講座)の内容をもとにしています。

 

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptでonsubmitを使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

JavaScriptのonsubmitとは

JavaScriptのonsubmitとは、送信ボタンが押された時に起動するイベントです。

formタグに、onsubmitを追加して起動する関数を指定することで送信前の内容のチェックや確認に使用することができます。preventDefault()と一緒に使用して、フォームの送信イベントをキャンセルするといった使い方もします。

onsubmitの使い方

onsubmitは、formタグにonsubmit属性を追加し使う関数を指定する、またはeventListenerでsubmitイベントを追加する、といった方法で使うことができます。

formタグにonsubmit属性を追加して行う場合は、以下のようにして行います。

<form onsubmit="check()">
<input type='submit' value="送信">
</form>
<script>
function check(){
//処理
}
</script>

 

addEventListenerでイベントを追加して、行う場合は以下の通りです。

<form id="sampleForm">
 <input type='submit' value="送信">
</form>
<script>
const form = document.querySelector("#sampleForm");
form.addEventListener("submit", function(){
 //処理
})
</script>

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは、実際に書いてみましょう。

今回は、addEventListenerを使用して、入力された文字数をチェックしてみます。以下のようにformを用意します。

<form id="sampleForm">
 <input type="text" id="textField" />
 <input type="submit" value="submit" />
</form>

 

以下のように書いて、入力された文字数を送信時にカウントします。

<script>
 var form = document.querySelector("#sampleForm");
 form.addEventListener("submit", function(event) {
  var input = document.querySelector("#textField");
  alert(`文字数: ${input.value.length}`);
 });
</script>

 

以上で解説を終わります。

送信された値をクライアントサイドでバリデーションする時やフォームの送信イベントをキャンセルする時など様々な場面で使うので覚えておきましょう。

 

筆者プロフィール

メンター金成さん

2014年より、某物流会社のシステム開発担当として入社。

未経験ながら、社内システム保守~新規受注システム開発まで携わり、JavaScript Ruby on Rails PostgreSQLなどの経験を積む。現在も、開発案件に携わりながら、日々勉強中。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

また、TechAcademyではJavaScriptを使ってWebサービスを公開できるオンラインブートキャンプ フロントエンドコース(JavaScript・jQuery講座)を開催しています。

プログラミングの初心者でも受講可能です。Webサイトの表現の幅を広げたいという方はぜひご覧ください。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。