0

Jquery Mobile を使用して、単一の html ファイルに複数のページ (それぞれに個別のフォームがあります) を持つアプリケーションを開発しました。

また、戻るボタン (ページヘッダーにあるタイプ data-rel="back") が押され、前のフォームが表示されたときに、前のフォームのすべてのフィールドをクリアする方法を今まで理解していませんでした。

私のフローは、以下で説明するのと似ています。

  1. ページを表示 ログイン

  2. ログイン ページで、フィールド (ユーザー、パスワード) に入力し、フォームを検証して送信します。

  3. 送信後、2ページ目のページ変更(同じHTML、 data-role="page" )

  4. 2 番目のページ (ブラウザーではない) で [戻る] ボタンを押した後、ログイン ページにはすべての入力フィールドが入力されたまま表示されます。

多くのスニペットを見ましたが、特にこの問題に関連するものではなく、それらのいくつかを適用しようとしたときに、これを解決する手がかりが得られませんでした.

誰か助けてください。ありがとう!

4

1 に答える 1

3

フォームにアクセスするたびにフィールドをクリアしたい場合は、単純に pagebeforeshow イベントを使用できます。

$('#page1').on('pagebeforeshow', function (event, data) {
    //clear fields here    
});

2 番目のページから戻ってきたときにのみフィールドをクリアしたい場合は、同じイベントに 2 番目の引数があり、どこから来たのかがわかります。

$('#page1').on('pagebeforeshow', function (event, data) {
    var prevPageID = $(data.prevPage).attr("id");
    if (prevPageID == "page2"){
       //clear fields   
    }
});

API ドキュメントは次の場所にあります: http://api.jquerymobile.com/pagebeforeshow/

于 2013-11-08T00:13:59.233 に答える