DEVELOPERS BLOGデベロッパーズブログ
- HOME >
- 加藤 正人のデベロッパーズブログ >
- Safari のフォームボタンと jQuery submit()
加藤 正人のデベロッパーズブログ
- 氏名
- 加藤 正人
- 役職
- 多分SE
- 血液型
- 秘密
- 出没
- 美味しいもののあるところ
- 特色
- タヒチ大好き。ちょいメタボ。
- 2020/12/15
- CakePHP3 のリダイレクトがうまく行かない例
- 2020/11/12
- Apache Bench
- 2020/10/05
- PhpSpreadsheet でExcel ファイルを読み込む (CakePHP3)
現在開発中のサイトのお客様から入力フォームが動作しないケースがあると連絡をいただいた。
いろいろ調べてみたところ、
- iOS のスマホで Safari を使うとフォーム送信ができない
- Windows 機や Android デバイスの Chrome や Firefox は OK
ということが判明。
送信データをダンプしつつ調べてみたところ、フォームの submit ボタンの click イベントをフックして、jQuery コードでフォームオブジェクトに対し submit() を適用すると、
- Safari の場合、クリックしたボタンの情報 ({name属性値}={ボタンラベル}) が送信されるフォームデータに入らない
- Chrome や Firefox ではこのデータがフォームデータに入る
という違いがあることが判明。そこで、submit() の実行前にボタン情報を補うべく
を
のようにすることで、Safari とそれ以外のブラウザで同じように動作するようになった。
関連エントリー
- 2017/07/08
- 時刻入力用 jQuery Plugin TimePicki の不具合調整
- 2017/04/30
- jQuery プラグイン「Touch Punch」
- 2015/12/19
- スマホ向けサイトの click と touch
- 2015/06/27
- jQuery 無限スクロールのメモ
- 2014/10/11
- Google Chart へのアクセスをヘルパーで実装してみる【その2】
- 2014/02/22
- IE8 と style 値でハマった話
- 2013/08/17
- jQuery UI Dialog と z-index
- 2013/06/01
- jQuery UI ボタンと IE8 のワナ
- 2013/05/17
- jQuery v2 は IE6/7/8 をサポートしない!
- 2013/03/09
- JavaScript でバリデーション
- 2013/02/23
- JavaScript で入力フィールドの文字カウンタを実装してみる
2020/12/15
2020/11/12
2020/10/05
2020/09/11
2020/08/03