jQueryMobileのフォームで同html別ページへのsubmit

jQueryMobileは、1つのhtmlで複数ページを表現できる。

これを利用し、入力フォームを表示するページを複数用意し、順々に入力を進めるプログラムを書いた。
しかし、フォームのsubmit後に意図したページへ遷移してくれなかった。

1. jQueryMobileのページ遷移について

jQueryMobileのページ遷移にはAjaxが利用されている。
JavaScriptの処理により、1つのhtmlを読み込めば、同html内の別ページへ切り替えることができる。

スマートフォンという少ないリソースを節約するための工夫で感動した。

しかし、このAjaxが色々問題を起こすことがあるとのこと。

2. フォームのsubmitによるページ遷移

Ajaxのページ遷移で問題を起こす例が、フォームのsubmitによるページ遷移だ。

同html内の別ページへsubmitで遷移するつもりプログラムを書いたが、ページ遷移してくれなかった。

なんでや・・・

3. 解決手段は「data-ajax=”false”」?

Ajaxを無効化したら、フォームは通常通りの挙動をするとのこと。

なのでformタグ内に「data-ajax=”false”」を追記する。

<form data-ajax=”false”>

ただし、jQueryMobile全体のAjaxを無効にすると、ページ遷移が遅くなる。

フォーム部分のみAjaxを無効にする。

【参考】

jQueryMobileでマルチページHTMLをまたがるFormを定義してみる

そろそろjQuery Mobileでajaxを無効にしてるやつに一言いっておくか

コメント

タイトルとURLをコピーしました