0

JavaScript (PhoneGap) を使用してモバイル Web アプリケーションを開発しようとしていますが、次のような問題があります。

ページに含まれる html を動的に作成する 3 ページの JavaScript があります。最初のページにはブトゥーン 1 が含まれています。

  2 番目のページにはブトゥーン 2 が含まれています

  3 ページ目にはブトゥーン 3 が含まれています

ボタン 1 をクリックして 2 番目のページに移動し、3 番目のページのボタン 2 をクリックします。

最初はすべてうまくいきますが、ページ 1 に戻って 2 ページ目に移動すると、プログラムは前の 2 ページを経由せずに直接ページ 1 を表示します。

前のイベントを削除するか、あなたの発言をキャッシュする必要があると思いますか?

ページ1

$('#header-left-container').prepend(results.rows.item(i).LibelleTypeTravail +"" +
                "<br>" +
                "<img src='../js/images/add.png' name="+results.rows.item(i).IdTypeTravail+" >" +
                "<textarea rows='6'  cols='60' id='"+results.rows.item(i).IdTypeTravail+"'   name='"+results.rows.item(i).LibelleTypeTravail+"'> </textarea><br><br>" );


 $('img').live('tap',function(e)
         {

     //-------------Pass param with localstorage

         window.localStorage.setItem("id_grp", id_grp_tr);
         window.localStorage.setItem("id_travail", e.target.name);

            $.mobile.changePage('../prestation_html/list_rubrique.html' , {role: 'dialog', transition: 'flip'});
         }
         );

ページ2

$('#lbtn').append('<input type="button" value="Consulter" onclick="go()"  id="Consulter">');

function go()
    {

        if(s == 0)
            {
            var sel_id_rub = $('input[name=opt1]:checked').attr('id');//ID of Rubrique

             window.localStorage.setItem("id_rub", sel_id_rub);       //Id Rubrique
        //alert(sel_id_rub);

             liste_Phrase();

            }

3ページ

    $('#lbtn').append('<input type="button" value="Ajouter"  id="ajouter">');

$('#ajouter').live('click',function(e)
         {
        // alert( $("label[for='" + ( $('input[name=opt1]:checked').attr('id') ) + "']").text() );
     window.localStorage.setItem("phrase", $("label[for='" + ( $('input[name=opt1]:checked').attr('id') ) + "']").text());       //Id Rubrique

     $.mobile.changePage('../prestation_html/etape'+window.localStorage.getItem("id_grp")+'.html');
         }
         );
4

1 に答える 1

1

簡単な方法は、最新のブラウザーで HTML5 History/State を利用するプラグインを次のように使用することです。

https://github.com/browserstate/History.js/

于 2012-11-27T10:02:17.710 に答える