POST后,Jquery不会改变textarea的值

时间:2011-12-31 21:46:19

标签: jquery

我有一个页面,它将textareas的值输入MySQL数据库。由于这是伪提交,因此在输入数据后手动将textarea的值更改为空。但是,在我按下提交后,数据输入正确,但textarea不清除。根据答案的数量,HTML(下面)会多次回显。

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'>

2 个答案:

答案 0 :(得分:3)

$.ajax在其options对象中不带response个参数。你应该使用

success: function () {

而不是

"response": function () {

答案 1 :(得分: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>