速報

日本郵便UGXの送り状システムにサイバー攻撃 越境EC配送は全宛先で停止

CATEGORY

【jQuery】【submit】フォーム外から指定したフォームを送信する

※本ページのリンクにはプロモーションが含まれています。

submitを実行する

目次

本記事では、jQueryでフォーム外から指定したフォームを送信する方法をご紹介しています。

jQueryでフォーム外から指定したフォームを送信したいな。良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

本記事でやりたいこと

フォーム外の要素をクリックした際に、jQueryで指定したフォームの送信することが目的です。少しわかりにくいですが、動作確認用にデモを用意しましたので、ご確認ください。

上記デモでは、フォーム要素内にinputやbuttonといったsubmitを実行する要素は設置していません。すべてフォーム外からのイベントによって、jQueryで送信処理を実行しています。

上記デモで本記事のやりたいことは実現できますので、デモの内容を参考に解説を進めていきたいと思います。

jQueryを読み込む

jQuery本体のファイルをで読み込みます。CDNはContents Delivery Network(コンテンツ・デリバリー・ネットワーク)の頭文字を取ったもので、ネットワーク経由してリソースを利用することを指します。CDNには有料、無料のものがありますが、jQueryの本体ファイルは無料で利用できます。

jQueryの本体ファイルは下記で読み込むことができます。

<script src="https://code.jquery.com/jquery-3.6.0.js"></script>

以上でjQueryの準備は完了です。上記スクリプトタグをhtmlファイルに追加することでjQueryが使えるようになります。

スポンサーリンク

フォーム外のボタンから指定したフォームをsubmitする

フォーム外に設置したボタンから、指定したフォームをsubmitします。デザイン上フォーム内にボタンが設置できないときに有効な方法です。

HTML

<form id="form" method="post" action="#">
  <input type="text" name="test" value="Hello">
</form>
<button id="button" type="submit">送信</button>

jQuery

$('#button').on('click', ()=>{
    $('#form').submit();
});

フォーム外のaタグから指定したフォームをsubmitする

フォーム外のaタグから指定したフォームをsubmitします。aタグとフォームを関連付けたいときに有効な方法です。

HTML

<form id="form1" method="post" action="#">
  <input type="text" name="test1" value="Hello 1">
</form>
<a id="button1" href="#">送信</a>

jQuery

$('#button1').on('click', ()=>{
    $('#form1').submit();
});

スポンサーリンク

aタグのリンク先にsubmitする

aタグのhref属性に指定されているリンク先に対してsubmitします。外部からフォームの送信先を調整したいときに有効な方法です。

HTML

<form id="form2" method="post" action="#">
  <input type="text" name="test1" value="Hello 1">
</form>
<a id="button2" href="#">送信</a>

jQuery

$('#button2').on('click', ()=>{
    let action = $( this ).attr('href');
    $('#form2').attr({action:action}).submit();
});

これでいくつかのパターンでフォーム外から指定したフォームを送信することができました。

最後に

jQueryを使えば短い構文を記述するだけで、JavaScriptのメソッドを簡単に呼び出して実行することができます。submitの他にもたくさんのメソッドが用意されていますので、色々使ってみてjQueryで遊んでみてくださいね。

以上、jQueryのsubmitでフォーム外から指定したフォームを送信する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

CDN

世界各地のサーバーにWebサイトのファイルを複製して置き、利用者に近いサーバーから配信する仕組み。表示の高速化や負荷の分散に使う。

詳しく見る