2011-06-19 3 views
1

私はAJAXチャットを達成しています。私はこれまでされており、送信ボタンをクリックした後、メッセージ、テキストエリアとボタンを押しdiv要素は、データがポストを介して、他の.phpのファイルに移動している:divが消えて、JQueryでポスト関数呼び出しの後に表示されます

function send(pid){ 
    $.post("SetAndGet.php",{ 
     msgChat: $("#messagePM").val(), 
     idpChat: pid 
    },function(data){ 
     $("#messagesPM").html(data); 
    }); 
} 

私が求めている問題(それほど奇妙であると考えている)は、応答では、messagesPMというdivが消えてしまい、新しいメッセージを保持しているように見えます。なぜそれが消えて、私はそれをどうやって修正するのですか?

+0

divに1つのメッセージしか含まれないようにしますか? – John

+0

いいえ、それはすべてのメッセージを保持しています、ジョン、私はすべてそれをしました、なぜdivがメッセージリストを更新するために消えて欲しいですか? –

+0

'messagePM'があなたの提案するように' div'なら、 '$(" messagePM ")。val()'は動作しません。 – user113716

答えて

1
function send(pid){ 
     $.post("SetAndGet.php",{ msgChat: $("#messagePM").text(), idpChat: pid },function(data){ $("#messagesPM").append(data); }); 
}) 

$( "#のmessagesPM")はdiv要素の内容を返しません.val DIVは、()で最初にあれば、あなたはdivのの内のテキストを取得するには()の.textを使用する必要があります。

HTML()を使用すると、divが返されたものが置き換えられます。したがって、appendを使用してください。内容が設定されたDIV htmlタグを返す必要がある場合を除きます。

+0

問題はありません。良い日があります。解決してください:P – John

+0

ちょうど、私は通常html()を使いました。問題は、ありがとうジョン、あなたはとても速くて役立ちました、それは解決されました! –

関連する問題