1

私が持っているもののイメージで説明するのが最も簡単な方法だと思いました。

まとめ - 投稿を送信するためのフォームがあります (Twitter にあるものとほとんど同じです)。各投稿内には、<ol>その投稿へのコメントが存在する場所があります。

問題 - 最初のコメントを送信すると (図の送信ボタン 2)、ajax が呼び出されず、コメントの php 出力が表示されるページに移動します。コードのその部分にDOMイベントをリロードまたは適用していないようです。戻ると、コメントが表示され(ページが更新されるため)、2番目のコメントを追加すると、期待どおりにすべて正常になります。問題は最初のコメントだけです。

フロー - 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