天堂里的麻烦与jQuery Mobile $.mobile.changePage()(不是追逐页面)



我有一个简单的登录表单。 2 个 php 文件,mobile.login.phpmobile.home.php .您登录,如果设置了cookie,您现在可以访问主页。登录系统工作,但页面不会更改为mobile.home.php,它只是再次显示登录表单。形式是Ajax,下面是代码:

<script type="text/javascript">
$('#login').live('pageinit', function() {
    $('form').live('submit', function(e){
        e.stopPropagation();
        e.preventDefault();
        $.post($(this).attr('action'), $(this).serialize(), function(data){
            if(data.success) {
                //$.mobile.changePage($('#home'), { transition: 'slideup'});
                $.mobile.changePage('mobile.home.php', 'slide', false, true);
                e.preventDefault();
            } else {
            alert('Login failed.');
            return false;
            }
       }, 'json');
    });
});
</script>

我尝试了很多东西。如您所见,我有 2 个选项来更改代码中的页面,其中一个被注释掉了。被注释掉的那个,什么也没发生。活动代码将 url 更改为mobile.home.php,但只需再次slides up登录表单。mobile.login.phpmobile.home.php都有页面div id's

我似乎想不通,有什么想法吗?

这应该是你的问题:

$.mobile.changePage('mobile.home.php', 'slide', false, true);
e.preventDefault();

不要使用 e.preventDefault(); 在这里,它会阻止成功转换。

下面是一个简单的示例:http://jsfiddle.net/WWfEq/

Comment/Uncomment e.preventDefault(); 以查看差异。

相关内容

  • 没有找到相关文章

最新更新