【问题标题】:jQuery Mobile form submission over multiple pages with CakePHP使用 CakePHP 在多个页面上提交 jQuery Mobile 表单
【发布时间】:2014-12-30 00:37:59
【问题描述】:

我希望我在这里遗漏了一些简单的东西。我有一个使用 jQuery mobile 的 CakePHP 网站。我认为 CakePHP 可能与它有关,但我不确定。

无论如何,我在视图页面上创建了一个用于添加 cmets 的表单。 Ajax 调用在加载的第一个页面上按预期工作,但导航到任何其他页面会阻止提交数据。每次按下按钮时控制台仍会记录“数据”(在其他地方推荐使用“pagebeforeshow”之后),但它似乎是来自原始加载页面的数据(我知道这一点是因为我目前正在调试 $this->请求->表单操作页面上的数据)。

显然,在跨页面移动时,我必须以某种方式“重置”表单,但我不确定在不刷新页面的情况下是否可以这样做。我知道 "data-ajax"="false" 和 "rel"="external" 可以作为最后的手段,但如果可以的话,我想避免刷新页面。

有什么建议吗?谢谢。

这是我用于 Ajax 调用的 JS

//<![CDATA[
$(document).on('pagebeforeshow', function(){       
    $(document).off('click', '#comment_add').on('click', '#comment_add',function(e) {
        $.ajax({
        async:true,
        data:$("#sCommentViewForm").serialize(),
        dataType:"html",
        success:function (data, textStatus) {
            //$('#comments').remove();
            //$('<div id="comments"></div>').appendTo('#comments_container');
            $("#comments").html(data).trigger('create');
            //$('#comments_box').remove();
            //$('<div id="comments_box"></div>').appendTo('#comments_container');
            console.log(data);
        },
        type:"POST",
        url:"commentsUsers/comment_add/<? echo $template['Template']['id']; ?>"});
        return false;
    }); 
});
//]]>
</script>

【问题讨论】:

    标签: php jquery cakephp jquery-mobile


    【解决方案1】:

    这是我基本的缺乏理解。经过大量搜索后,这个简单的帖子最有帮助:

    Jquery Mobile Javascript not working on ajax load

    基本上,我对所有事情都使用 ID - 当我切换到类名时,一切顺利。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多