我有一些jquery将文本输入数据库然后清除textarea。然而,textarea没有被清除。下面是表示哪条线工作的代码。当我用alert(commentbox)替换这一行时,我得到了注释框的值,所以我知道变量正在工作。我只是不知道如何清除变量。
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>
答案 0 :(得分:2)
var commentboxElem = $(this).children('.commentBox');
并在你的成功中:
commentboxElem.val('');
答案 1 :(得分: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变量的内容,而不是实际的文本框。