0

我在理解如何使用 Jquery 移动导航系统时遇到问题。我了解 Jquery Mobile 根据此链接与 ajax 一起使用。我的问题是: 1. 我在 Phonegap 中构建了 2 个 Html 文件作为客户端,通过 Json 获取其动态内容,一个是带有登录表单的 login.html,我使用它通过 jquery 验证插件进行验证,并在成功后重定向到通过 $mobile.changepage() 方法访问 mainpage.html 页面,如下所示:

$("#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. $mobile.changepage() 与 $mobile.Navigate() 方法之间的主要区别是什么,除了根据此链接$mobile.Navigate() 较新,我应该使用什么方法,以及一个例子他们之间的差异将不胜感激。

4

1 回答 1

1

这有点混乱,但我会采取行动

  1. JQM 使用单个基本页面,然后通过 AJAX 加载其他所有内容。你得到了那么多。您的第二页是否包含data-role="page"块?

  2. 我对 JQM 1.3 或更高版本还没有好运。我会坚持下去,$.mobile.changepage()直到他们解决为止。如果有的话,它不会很快被删除。

于 2013-10-10T19:26:45.943 回答