2011-12-31 9 views
0

私は、textareasの値をMySQLデータベースに入力するページを持っています。これは擬似サブミットなので、データが入力された後、手動でテキストエリアの値を何も変更しません。しかし、submitを押すとデータは正しく入力されますが、textareaはクリアされません。 HTML(下記)は、回答の数に応じて数回エコーされます。POST後にJqueryがtextareaの値を変更しない

はJavaScript:

$('document').ready(function() { 
    $('.commentContainer').load('../writecomment.php'); 

    $("form").on("submit", function (e) { 
     e.preventDefault(); 

     var $form = $(this); 
     $.ajax({ 
      "url": $form.attr("action"), 
      "data": $form.serialize(), 
      "type": $form.attr("method"), 
      "response": function() { 
       $('.commentContainer').load('../writecomment.php'); 
       $('.commentBox').val(""); //this line doenst work 
      } 
     }); 
    }); 
}); 

HTML:

<textarea class='commentBox' wrap='soft' name='comment'></textarea> 
<input type='submit' value='comment' class='submitCommentBox'> 
+0

私は問題を見ることができるウェブサイトをオンラインにしていますか? –

答えて

3

$.ajaxは、そのオプションオブジェクトにresponseパラメータを取りません。あなたは、これは擬似提出する(あなたがそれを置くよう)ですので、私は完全にフォームの文脈からそれを取って推薦する

success: function() { 

代わりの

"response": function() { 
+0

しかし、ここでの問題は、テキストエリアを適切に空にする方法です。 –

+2

textareaの空のコードは正しいですが、これを行う関数はjQueryが無視する関数の中にあるので、呼び出されることはありません。 – Domenic

+0

@domenicあなたは男です。ご協力ありがとうございました。あなたは解決策を働いていて、6分でそれを受け入れると、 – kirby

0

を使用する必要があります。

<textarea class='commentBox' wrap='soft' name='comment'></textarea> 
<input type='submit' value='comment' class='submitCommentBox'> 
<script> 
$(".submitCommentBox").on("click", function (e) { 
     var myComment = $(".commentBox").val(); 
     $.post("[YourUrl]",{comment:myComment},function(data){ 
      $('.commentBox').val(""); 
     }); 
    }); 
</script> 
関連する問題