2016-08-31 1 views
-1

同じ文字列を返すフォームにコメントをアップロードするajax関数があります。成功した場合はコメントボックスになり、コメント入力テキストが消去されます。Ajaxの結果が以前の結果につながっているようです。

ユーザーが別のコメントを追加すると、この新しいコメント+過去のコメントをコメントボックスに追加して、最初のコメントが既に表示されているという問題があります。

私はちょうど私がコメントボックスを空にする前にどこに散歩しているが、これは最良の動作ではありません。

これは私のAJAX機能である:

$("#formContent").submit(function(e){ 

     e.preventDefault(); 

    var formdata = new FormData(this); 

     $.ajax({ 
      url: "php/comment_form.php", 
      type: "POST", 
      data: formdata, 
      mimeTypes:"multipart/form-data", 
      contentType: false, 
      cache: false, 
      processData: false, 
      success: function(result){ 
       $("#new_comments").empty(); 
       $(result).hide().prependTo("#new_comments").fadeIn(1000); 
       $("input").empty(); 
      },error: function(){ 
       alert("Error"); 
      } 
    }); 
    }); 

だから、例えば私がコメントを追加するには: "こんにちは"

をするdiv#のnew_commentsが表示されます。

Hello 

(結果厥

私は新しいコメントを追加する場合: "世界" その後のdiv#のnew_commentが表示されます:

World 
Hello 
Hello 

そしてそう...

ですが、なぜでしょうか? 結果をvarに追加しようとしました

var comment = result;

はその後コメントが先頭に追加された後:

var注釈= "";

しかし、それはうまくいきません。

アイデア?

+1

を試してみてください? $( '#new_comment').html(result)? – guradio

+0

私たちはなぜ答えを出すのに時間を無駄にしているのですか? –

+0

私は今週私のオフィスから離れていて、答えをテストできませんでした。 .HTMLは私のためにうまく動作するので、私は以下の答えを正しいものとしてマークしました。 –

答えて

1

は、htmlとして、それを設定していない理由を.html("")

$("#new_comments").html("") 
+0

それは働いた!私はちょうどそれを素晴らしい効果を与えるためにフェードインを追加しました。どうもありがとう –

関連する問題