我有以下表单,我想在关闭表单时清除任何用户输入。我使用以下JQ函数执行此操作,但textarea元素不会以相同方式清除(#reply
将仅使用.val("")
清除)。我不明白为什么会这样。
HTML
<div class="form" id="form">
<form id="postandreply" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" >
<div id="textarea">
<label for="posttopic">Topic</label>
<textarea id="posttopic" name="posttopic" maxlength="100" cols="50" rows="3"></textarea>
<label for="comment">Comment</label>
<textarea id="comment" name="posttext" maxlength="500" cols="80" rows="6"></textarea>
<label for="reply">Reply</label>
<textarea id="reply" name="replytext" maxlength="500" cols="80" rows="6"></textarea>
</div>
<input type="text" id="lookup" name="reply-lookup" />
<input type="submit" id="submit" name="post" value="Post" />
</form>
</div>
JQ
// -------------------------reset the forms -------------------------
function reset(formhtml) {
$('#posttopic, #comment, #reply').text(""); //will not clear #reply
$('#lookup, #reply').val(""); //this will clear #reply
}
答案 0 :(得分:2)
.val()
是获取输入数据的主要方法。下面是http://api.jquery.com/val/的引用。
.val()方法主要用于获取表单元素的值 例如input,select和textarea。对于元素,.val()方法返回一个数组 包含每个选定的选项;如果未选择任何选项,则返回 空。
.text()
不起作用,因为textarea
仍然是输入。
答案 1 :(得分:2)
答案 2 :(得分:1)
怎么样:
$('#form')[0].reset(); // use the id of the form