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を無効にする。
コメント