トラブルシュート

公開したHTMLのフォームが送信できないときの対処

問い合わせフォームやアンケートを埋め込んだページを公開したものの、送信ボタンを押しても反応しない、エラーになる、というご相談があります。多くは送信先の指定や外部サービス連携の設定に起因します。ギガサイト便は静的なHTML/ZIPを安全に見せるサービスなので、その前提を踏まえた作り方が重要です。この記事で原因の切り分けから対処までを順に説明します。

症状の確認:押した後に何が起きるかを見る

送信ボタンを押したときに何も起きないのか、エラー画面に飛ぶのか、ページが再読み込みされるだけなのかを確認します。挙動によって原因の見当が変わります。

開発者ツールのコンソールとネットワークタブを開いた状態で送信を試すと、どこに向けてリクエストが飛んでいるか、エラーが返っているかがわかります。これが切り分けの起点になります。

よくある原因:送信先が決まっていない

もっとも多いのは、フォームのaction属性に送信先が指定されていない、または存在しない場所を指しているケースです。送信先が決まっていなければ、ボタンを押してもデータの行き先がありません。

また、フォームの送信処理をJavaScriptで外部サービスに渡している場合、そのサービスのキー設定やドメイン許可が済んでいないと送信が拒否されます。送信先が別ドメインのときはCORSの制限に当たることもあります。

  • action属性が空、または無効な送信先になっている
  • 外部フォームサービスの設定が未完了
  • 送信先ドメインが許可されていない
  • 必須項目の検証で止まっているのに気づいていない

症状別チェック表

公開したHTMLのフォームが送信できないは、症状を分けずに直そうとすると原因探しが長引きます。まず「自分だけで起きるのか」「全員で起きるのか」「特定ブラウザだけか」「差し替え後だけか」を切り分けます。

確認順序を固定すると、相対パス、ファイル名、キャッシュ、認証、外部読み込みのどこで止まっているかが見えます。修正後はローカル確認だけで終わらせず、実際の共有URLで再表示して、相手と同じ条件で直ったことを確認します。

  • 自分だけ表示されない: キャッシュ、ログイン状態、ブラウザ拡張、端末幅を確認する
  • 全員で表示されない: ファイル構成、相対パス、大文字小文字、アップロード漏れを見る
  • 一部だけ崩れる: CSS/画像/JSごとに読み込みエラーを分ける
  • 差し替え後だけ古い: URL、キャッシュ、更新対象ファイルの取り違えを確認する

自分でできる確認:送信先とエラーをチェックする

まずHTMLのform要素を見て、actionに正しい送信先が書かれているか確認します。外部サービスを使う場合は、そのサービス側でこのフォームが許可されているか、公開URLのドメインが登録されているかを確認してください。

ネットワークタブで送信時のリクエストを見て、エラーが返っているならその内容を読みます。403や401なら権限・認証、CORS関連の文言ならドメイン許可の問題と判断できます。

ギガサイト便での対処手順

ギガサイト便は静的コンテンツを公開する仕組みのため、サーバー側でフォーム処理を行うのではなく、外部のフォーム受付サービスに送信する構成にするのが現実的です。送信先を整えたうえでZIPにまとめて公開します。

以下の手順で見直してください。

  1. 外部フォーム受付サービスを用意し、送信用のエンドポイントを発行する
  2. HTMLのactionにそのエンドポイントを設定する
  3. 外部サービス側で公開URLのドメインを許可する
  4. 関連ファイルをまとめてZIPに圧縮する
  5. ギガサイト便のトップにドラッグ&ドロップして公開する
  6. 発行URLでテスト送信し、受付サービスに届くか確認する

予防:静的公開の前提に合わせて設計する

フォームを使うページは、最初から外部の受付サービスを前提に設計しておくと公開後のトラブルを避けられます。送信先のドメイン許可は公開URLが決まってから行う必要があるため、公開後にテスト送信する工程を必ず入れましょう。

認証付きで限定的に共有する場合でも、フォームの送信先は別途設定が必要です。ギガサイト便のアクセス制御とフォームの送信処理は別物だと理解しておくと混乱しません。

よくある質問

送信ボタンを押しても何も起きません。

action属性に送信先が指定されていないか、必須項目の検証で止まっている可能性があります。開発者ツールのネットワークタブを開いて送信を試し、リクエストが飛んでいるか確認してください。

ギガサイト便だけでフォームの内容を受け取れますか。

ギガサイト便は静的なHTML/ZIPを公開するサービスのため、サーバー側でデータを受け取る処理は行いません。外部のフォーム受付サービスに送信する構成にするのが現実的です。

送信時にCORSのエラーが出ます。

送信先サービス側で公開URLのドメインが許可されていない場合に起こります。外部サービスの設定画面で、ギガサイト便で発行されたドメインを許可リストに追加してください。

公開前にフォームのテストはできますか。

送信先のドメイン許可は公開URLが決まってから設定するため、公開後にテスト送信して確認するのが確実です。差し替えはURLを変えずに行えるので、調整しながら検証できます。

原因が分からないときはどこから確認すべきですか?

まず自分だけの問題か全員の問題かを分けます。次にシークレットウィンドウ、別ブラウザ、スマホで確認し、ファイル構成・相対パス・キャッシュ・認証設定を順に見ます。

関連記事

トラブルシュート

入力欄やボタンがiOSで勝手な見た目になるときの対処

PCで整ったフォームがiPhoneで開くと角丸や内側の影が付いて崩れてしまうと困っているWeb制作者向け。iOSの独自スタイルの仕組みとappearanceでリセットして整える手順を解説します。

5分で読める
トラブルシュート

公開後にJavaScriptが動かないときの原因と直し方

ローカルでは動いていたボタンやアニメーションが公開後に反応しなくなった方向け。JavaScriptが止まる主な原因をファイルパスや読み込み順の観点で切り分け、自分で直せるかどうかを判断できます。

5分で読める
トラブルシュート

公開後に動画が再生されないときの対処

デモページや資料に埋め込んだ動画が公開後に再生されなくなった方向け。動画ファイルの添付漏れ・パスのズレ・ブラウザの自動再生制限を症状ごとに切り分け、自分でできる確認と対処を把握できます。

4分で読める
トラブルシュート

iframeが表示されないときの原因と対処

地図や外部コンテンツをiframeで埋め込んだのに公開後に枠が空白になった方向け。表示許可・HTTPSとHTTPの混在・相対パスのズレを症状ごとに切り分け、適切な対処を選べるようになります。

4分で読める
トラブルシュート

外部CDNのCSS・JSが読み込めないときの対処

CDNからCSSやJSを読み込む構成にしたらデザインが崩れて機能が動かなくなった方向け。URLの誤りやHTTPSの混在・バージョン指定の問題を原因ごとに整理し、確認と修正の手順を把握できます。

5分で読める
トラブルシュート

認証メール(コード)が届かないときの確認点

メール認証のコードを待っているのにいつまでも届かない方向け。迷惑メールへの振り分け・アドレスの入力ミス・受信側の制限など届かない原因を優先順位とともに確認し、スムーズに閲覧を再開できるかを判断できます。

4分で読める
「トラブルシュート」の記事をもっと見る →