← エラー辞典に戻る

HTML

フォームの送信ボタンが動かない

type="submit" の書き忘れ

こんな症状

フォームの送信ボタンを押しても何も起きない。フォームを初めて作るときに遭遇しやすいよ。

まず試す

<button type="submit"> にし、<form action="..."> の中に置く。

html
<form action="/submit" method="POST">
  <button type="submit">送信</button>
</form>

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • ボタンが type=submit でない
    → type="submit" を明示する。
  • form で囲まれていない / action が無い
    → <form action="送信先"> で囲む。
  • JSで送信を止めている
    → e.preventDefault() を呼んでいないか確認する。

なぜ起きる?

ブラウザはform内のtype="submit"ボタンがクリックされたときにフォームを送信するよ。buttonタグのtype属性が"button"になっていたり、そもそもformタグで囲まれていなかったりすると、送信処理が発動しないんだ。JavaScriptでpreventDefault()が呼ばれている場合も送信されないよ。

✕ エラーが起きるコード
<form><button>送信</button></form>
<!-- action 属性がない -->
✓ 直したコード
<form action="/submit" method="POST"><button type="submit">送信</button></form>

✅ 直ったか確認

送信ボタンで Networkにリクエストが出る、または期待の遷移が起きればOK。

🆘 まだ直らないときは

ボタンが form の外にあるなら form="フォームのid" で紐づけられる。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

🔗 別カテゴリの関連エラー

📖 この問題を学べるレッスン

HTMLレッスン5:フォームを作ろうで根本から理解する →

✏️ 手を動かして練習

このテーマの図解ドリルで実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 HTMLレッスン5:フォームを作ろうで根本解決しよう!

このエラーの背景にある仕組みを、手を動かしながら学べるレッスンがあります。完全無料・登録不要。

HTMLレッスン5:フォームを作ろうへ →

❓ 関連するQ&A