2011-12-31 124 views
0

我有一個頁面,可以將textareas的值輸入到mysql數據庫中。由於這是一個僞提交,因此在輸入數據後手動將textarea的值更改爲無。然而,我按提交後,數據輸入正確,但textarea不清除。根據答案的數量,html(下面)會被回覆幾次。JQuery val不會改變

的Jquery:

<script type='text/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 
     } 
    }); 
}); 
}); 



</script> 

HTML:

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

[即一行代碼] http://jsfiddle.net/Xr8m7/1/( )工作得很好。你爲什麼不在[你接受的問題的答案]中使用'ajax'代碼(http://stackoverflow.com/questions/8690117/form-still-submits-on-preventdefault)? – Sparky 2011-12-31 20:27:07

+0

@ Sparky672我不小心複製並粘貼了我以前的代碼。代碼現在更新在我原來的問題 – kirby 2011-12-31 20:39:36

+0

你可以嘗試'$('。commentBox')。text(「」);'? – 2011-12-31 20:45:47

回答

2

你濫用on。它應該是

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

    $.ajax({ 
     url: $form.attr("action"), 
     data: $form.serialize(), 
     type: $form.attr("method"), 
     success: function() { 
      $(".commentContainer").load("../writecomment.php"); 
      $(".commentBox").val(""); 
     } 
    }); 
}); 

你現在正在做的是附加一個處理程序,以每.answerContainer一個form內住(這大概是所有.answerContainer的)。這就解釋了爲什麼表單提交內容每次都會發生一次。


編輯:我將努力使之更清楚,因爲按照該意見,你似乎也很難把握什麼,我想說的。很簡單:

下面的行是錯誤的:

$('.answerContainer').on('submit', 'form', function(event) { 

它應該是:

$("form").on("submit", function (event) { 
+0

我用我當前的實際代碼更新了我的原始問題,但仍未清除.commentBox值 – kirby 2011-12-31 20:41:43

+0

您仍然以與以前相同的方式濫用'on'。 on(「submit」,...)'not「(」.answerContainer「)。on(」submit「,」form「,...)'''你需要做'$(」form「)。 – Domenic 2011-12-31 20:47:09

+0

我已更新我的代碼以反映您的答案,但.commentBox在運行代碼後仍未清除 – kirby 2011-12-31 20:51:11