2012-01-01 120 views
1

我有一些jquery输入文本到数据库,然后清除textarea。但是textarea没有被清除。下面是代码表明哪一行可以工作。当我用alert(commentbox)替换这一行时,我得到了评论框的值,所以我知道该变量正在工作。我只是不知道如何清除变量。更改jquery变量

Jquery的:

<script type='text/javascript'> 
$('document').ready(function() { 
$('.commentContainer').load('../writecomment.php'); 


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

    var $form = $(this); 
    var commentbox = $(this).children('.commentBox').val(); 

    $.ajax({ 
     "url": $form.attr("action"), 
     "data": $form.serialize(), 
     "type": $form.attr("method"), 
     success: function() { 
      $('.commentContainer').load('../writecomment.php'); 
      commentbox = ""; //this line doesnt work 

     } 
    }); 
}); 
}); 

我还要提到的是,当我更换$( 'commentBox ')坏线VAL('');值清楚。问题在于它清除了所有textareas,而不仅仅是我使用.children()来查找的那个。

</script> 

回答

2
var commentboxElem = $(this).children('.commentBox'); 

,并在您的成功:

commentboxElem.val(''); 
+0

你是对的!当它让我时,我会接受你的答案。谢谢 – kirby 2012-01-01 15:04:31

+0

酷哥。也谢谢你 – bondythegreat 2012-01-01 15:06:30

0
var $form = $(this); 
var commentboxObj = $(this).children('.commentBox'); 
var commentBoxVal=commentboxObj.val(); 

$.ajax({ 
     "url": $form.attr("action"), 
     "data": $form.serialize(), 
     "type": $form.attr("method"), 
     success: function() { 
      $('.commentContainer').load('../writecomment.php'); 
      commentboxObj.val(""); //this will work 

     } 
    }); 

commentbox="",您试图更新一个javascript变量,而不是实际的文本框的内容。

+0

我应该提到,我想该行已经和它doenst工作。我也会这么想。 – kirby 2012-01-01 14:58:33

+0

.commentBox是一个textarea。 commentbox是一个javascript变量,值为.commentBox – kirby 2012-01-01 15:00:59

+0

我更新了我的答案。尝试这个。 – Shyju 2012-01-01 15:03:37