質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1791閲覧

【JavaScript】submitイベントのリクエストURLを取得したい

true_colors_20

総合スコア25

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/07/08 02:38

前提・実現したいこと

formをsubmit時に、_ev.preventDefault();でイベントをキャンセルさせ、リクエストURLを取得することは可能でしょうか?
サンプルコードの場合、/api/v1/url?id=1を取得したいです。

submitイベントにそのようなプロパティがあるのかと思い、
https://developer.mozilla.org/en-US/docs/Web/API/SubmitEvent
などを見たのですが、それらしきものが見つかりませんでした。

  • form内のinputを全て取得してforなどでパラメータ文字列を作る
  • fetch()で非同期で取得する

などは思いついたのですが、もっといい方法があるのかと思い、質問させて頂きました。

該当のソースコード

<form id="form" action="/api/v1/url" method="get"> <input type="hidden" name="id" value="1"> </form> <script> form.addEventListener('submit', (_ev) => { _ev.preventDefault(); const request = 'ここで /api/v1/url?id=1 を取得したい' console.log(request) }) </script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/08 03:00

用途は何でしょう
guest

回答1

0

ベストアンサー

javascript

1form.addEventListener('submit', (_ev) => { 2 _ev.preventDefault(); 3 const request = form.getAttribute("action")+"?"+ [...new FormData(form)].map(arg=>arg.map(encodeURIComponent).join('=')).join("&"); 4 console.log(request); 5});

投稿2021/07/08 02:50

編集2021/07/08 02:51
yambejp

総合スコア115010

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

true_colors_20

2021/07/08 03:19

ありがとうございます。FormDataを初めて知りました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問