如何从textarea输入中清除文本?

时间:2013-12-05 22:04:41

标签: javascript jquery forms clear

我有以下表单,我想在关闭表单时清除任何用户输入。我使用以下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

}

3 个答案:

答案 0 :(得分:2)

.val()是获取输入数据的主要方法。下面是http://api.jquery.com/val/的引用。

  

.val()方法主要用于获取表单元素的值   例如input,select和textarea。对于元素,.val()方法返回一个数组   包含每个选定的选项;如果未选择任何选项,则返回   空。

.text()不起作用,因为textarea仍然是输入。

答案 1 :(得分:2)

来自JQuery文档:

  

.text() 方法不能用于表单输入或脚本。要设置或获取input或textarea元素的文本值,请使用 .val() 方法。要获取脚本元素的值,请使用 .html()方法。

答案 2 :(得分:1)

怎么样:

$('#form')[0].reset(); // use the id of the form