1

我认为最简单的方法是用我所拥有的图像来解释它。

摘要 - 我有一个提交帖子的表单(很像你在 twitter 上找到的)。在每个帖子中都有一个<ol>对该帖子的评论将驻留的位置。

问题 - 当我提交第一个评论(图片中的按钮提交 2)时,它不会调用 ajax,只是转到一个页面,它会向我显示评论的 php 输出。似乎它没有重新加载或将 DOM 事件应用到该部分代码。如果我返回,则会显示评论(因为它会刷新页面),并且在添加第二条评论时,一切正常,正如预期的那样。问题只是第一条评论。

流程 - 1) 插入新帖子 2) 单击文本区域,输入一些文本并按提交 3) 跳转到显示 php 输出以供评论的页面 3a) 没有完成 ajax 调用。它从不输入代码

你能帮我弄清楚发生了什么吗?提前致谢。

如果您需要更多代码,请告诉我。

在此处输入图像描述

JS(post_comment.js - 与图片中的提交 2 相关联。我使用 ajaxForm - jquery 表单插件 - 虽然我也尝试使用标准的 .ajax 调用,结果是一样的)

$(function () {

    var options = {
        success: function (html) {

            var arrHTML = html.split(',');
            var postId = $.trim(arrHTML[0]);
            var html_code = arrHTML[1];

            $('ol#post_comment_list' + postId).load(html_code);
            //$('ol#post_comment_list'+postId 'li:first').slideDown('slow');
            $('.footer-post').hide();
            $('.comments-feed').delay(2000).slideUp({
                duration: 1000,
                queue: true
            });
            $('.small-textarea-main-feed').removeClass('set-large');
            resetForm($('.footer-comment'));
        },
        error: function () {
            alert('ERROR: unable to upload files');

        },
        complete: function () {

        },
    };

    $(".footer-comment").ajaxForm(options);

    function ShowRequest(formData, jqForm, options) {
        var queryString = $.param(formData);
        alert('BeforeSend method: \n\nAbout to submit: \n\n' + queryString);
        return true;
    }

    function resetForm($form) {
        $form.find('input:text, input:password, input:file, select, textarea').val('');
        $form.find('input:radio, input:checkbox')
            .removeAttr('checked').removeAttr('selected');

    }
});
4

0 回答 0