使用CakePHP在多个页面上提交jQuery移动表单

使用CakePHP在多个页面上提交jQuery移动表单,php,jquery,cakephp,jquery-mobile,Php,Jquery,Cakephp,Jquery Mobile,我希望我错过了一些简单的东西。我有一个CakePHP网站,我正在使用jQuery mobile。我认为CakePHP可能与此有关,但我不确定 无论如何,我在我的查看页面上创建了一个表单,用于添加评论。Ajax调用在加载的第一个页面上按预期工作,但导航到任何其他页面会阻止提交数据。在其他地方建议使用“pagebeforeshow”后,每次我按下按钮时,控制台仍会记录“data”,但它似乎是来自原始加载页面的数据。我知道这一点,因为我当前正在调试表单操作页面上的$this->request->dat

我希望我错过了一些简单的东西。我有一个CakePHP网站,我正在使用jQuery mobile。我认为CakePHP可能与此有关,但我不确定

无论如何,我在我的查看页面上创建了一个表单,用于添加评论。Ajax调用在加载的第一个页面上按预期工作,但导航到任何其他页面会阻止提交数据。在其他地方建议使用“pagebeforeshow”后,每次我按下按钮时,控制台仍会记录“data”,但它似乎是来自原始加载页面的数据。我知道这一点,因为我当前正在调试表单操作页面上的$this->request->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>

这是我基本上缺乏理解。经过大量搜索,这篇简单的帖子非常有用:

基本上,我什么都用ID——当我切换到类名时,一切都很顺利