2013-10-10 2 views
0

У меня возникли проблемы с пониманием того, как работать с навигационной системой JQuery Mobile. Я понимаю, что JQuery Mobile работает с ajax в соответствии с этим link. Мои вопросы: 1. Я построил 2 Html-файла в качестве клиентской части в Phonegap, который получает свой динамический контент через Json, один из них - login.html с формой входа, которую я использую для проверки через плагин проверки jquery, а при удачном перенаправлении на страницу mainpage.html через метод $ mobile.changepage(), как показано здесь:Навигация 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, но когда я снова нажимаю кнопку «отправить», он дает s мне сообщение об ошибке, я думаю, что это как-то связано с 2-страничной страницей в DOM, как мне ее исправить?

2.Что является основным разностное между методами $ mobile.changepage() против $ mobile.Navigate() помимо того, что $ mobile.Navigate() новее в соответствии с этим link, и какой метод я должен использование и пример различий между ними будут высоко оценены.

+0

Какое сообщение об ошибке вы получите? – melc

+0

Я не могу понять, с чего начать. Можете ли вы разбить это на краткие личные вопросы? – Sparky

+0

мой вопрос: как перемещаться между 2 html-страницами, используя $ mobile.changepage() на динамических страницах. –

ответ

1

Это немного запутанное, но я возьму колотую

  1. JQM использует одну базовую страницу, а затем загружает все остальное с помощью AJAX. У тебя так много. Ваша вторая страница содержит блок data-role="page"?

  2. Мне не повезло с JQM 1.3 или новее. Я бы придерживался $.mobile.changepage(), пока они не разобрались. В ближайшее время он не будет удален.

+1

Я думаю, что это должно быть '$ .mobile.changepage()' –

+0

Yep. Ред. Благодаря! – Machavity

+0

Да, моя вторая страница содержит 'data-role =" page "'. –

Смежные вопросы