SafariでPOSTのsubmitがうまくいかない…

フォーム送信の処理を作成していたときの話。

PCでは問題なく動いていたのに、iPhoneからの動作を確認してみると、Submitをクリックしてもウンともスンとも言わない。

解決までちょっと手間取ったのでメモ。

問題の処理

プログラムはざっくりと、以下の構造だった。

form.html
    :
  <form action="confirm.php" method="post">
    <input type="text" name="text">
    <input type="submit" name="regist">
  </form>
    :
confirm.php
    :
  if (is_set($_POST["regist"])) {
    // 登録処理
  }
    :

この状態で、PC(Firefox使用)では「登録処理」を通るが、iPhone(Safari)では通らない。

原因

ネットで調べると、Safariのバグだとか何とかいろいろ書かれていたけど、いろいろ試しても解決せず…。

仕方ないので、処理を確認してたら、どうやらSafariではsubmitのPOSTデータを受け取っていないような動きをしていた。

他のPOSTデータは受け取っていたので、処理を修正して対応した。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください