2013-10-10 126 views
0

我遇到問題了解如何使用Jquery Mobile Navigation系統。 我瞭解到Jquery Mobile根據這個link與ajax協同工作。 我的問題是: 1.我建立了2個Html文件作爲Phonegap中的客戶端,通過Json獲取其動態內容,其中一個是login.html,其中包含登錄表單,我通過jQuery驗證插件驗證它,一旦成功重定向通過該方法$ mobile.changepage()如下所示的頁面mainpage.html:導航Jquery Mobile + PhoneGap

$("#LoginForm").validate({ 
    rules: { 
     UserName: 
      { 
       required: true, 
       digits: true, 
       rangelength: [4, 4] 
      }, 
     Password: { 
      required: true, 
      digits: true, 
      rangelength: [4, 4] 
     } 
    }, 
    messages: { 
     UserName: { 
      required: "שגיאה!, אנא הכנס שם משתמש", 
      digits: "שגיאה!, אנא הכנס ספרות בלבד", 
      rangelength: "שגיאה!, השדה חייב להיות 4 תווים בדיוק" 
     }, 
     Password: { 
      required: "שגיאה!, אנא הכנס סיסמה", 
      digits: "שגיאה!, אנא הכנס ספרות בלבד", 
      rangelength: "שגיאה!, השדה חייב להיות 4 תווים בדיוק" 
     } 
    }, 
    errorClass: 'input-validation-error', 
    submitHandler: function (form) { 
     /* Send the data using post */ 
     $.post("/Account/postLogin", $("#LoginForm").serialize(), function (data) { 
      switch (data) { 
       case "RESULT_SUCCESS": 
        $.mobile.changePage("/Home/NewTickets", { transition: "slide" }); 
        break; 
       case "UserNotFound": 
        alert("שם משתמש לא נמצא"); //phonegap error dialog 
        break; 
       case "NonCorrectPassword": 
        alert("סיסמה אינה נכונה"); //phonegap error dialog 
        break; 
      } 
     }) 
     .fail(function() { 
      alert("שגיאת שרת אינה יודעה, נסה שנית במועד מאוחר יותר"); //phonegap error dialog 
     }) 
    } 
}); 
在我mainpage.html

我有一個註銷按鈕,當我按下它會做到這一點的方法:

$('#logout').on('click', function() { 
    $.get("/Account/Logout") 
    .done(function() { 
     $.mobile.changePage("/Account/Login", { transition: "slide", reverse: true }); 
    }) 
    .fail(function() { 
     alert("שגיאה!, לא היה ניתן להתנתק מן המערכת"); 
    }); 
}); 

在iPhone上測試它確實返回到login.html,但當我再次按下「提交」按鈕時,它給我是一個錯誤消息,我想這與DOM中已有的2頁面有關,我該如何解決它?

2.根據這個link,$ mobile.changepage()和$ mobile.Navigate()之間的主要區別是$ mobile.Navigate()和$ mobile.Navigate()更新,以及我應該使用哪種方法使用,以及他們之間的差異的例子將非常感激。

+0

你得到的錯誤信息是什麼? – melc

+0

我不知道從哪裏開始。你可以把它分解成簡明的自包含的問題嗎? – Sparky

+0

我的問題是如何在動態頁面上使用$ mobile.changepage()在2個html頁面之間移動。 –

回答

1

這是一個有點混亂,但我會採取刺傷

  1. JQM採用的是單鹼基頁面,然後通過AJAX加載一切。你有這麼多。您的第二頁是否包含data-role="page"區塊?

  2. 我還沒有JQM 1.3或更高版本的好運。我會堅持$.mobile.changepage(),直到他們解決問題。它不會很快被移除,如果有的話。

+1

我認爲這應該是'$ .mobile.changepage()' –

+0

是的。編輯。謝謝! – Machavity

+0

是的,我的第二頁包含'data-role =「page」'。 –