オーダーメイドコース
icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

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

 

そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプ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] コーディングで副業する方法とは

実際に書いてみよう

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

今回は、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・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプJavaScript/jQuery講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。