如何在jquery中清空文本框,文本区域

How to empty a textbox, textarea in jquery

本文关键字:文本 区域 清空 jquery      更新时间:2023-09-26
var $contact_title = $('#contact_title').val();
var $contact_summary = $('#bbcode').val();

我检索一个文本区域和文本字段然后我这样做:

$contact_title.val('');
$contact_summary.val('');

不清空

HTML:

<form action="" method="get">
    <table border="0">
        <tr>
            <td valign="top">Title:</td>
            <td>
                <input name="title" type="text" style="width:710px" id="contact_title" />
            </td>
        </tr>
        <tr>
            <td valign="top">Message:</td>
            <td>
                <textarea name="request" cols="30" rows="20" id="bbcode"></textarea>
            </td>
        </tr>
        <tr>
            <td colspan="2" align="right" >
                <input name="send" type="button" onClick="clicked()" value="Send" />
            </td>
        </tr>
    </table>
</form>

应该将元素存储在变量中,而不是值中。

所以,你的代码应该是:
var $contact_summary = $('#bbcode');
$contact_summary.val('');

顺便说一句,使用不显眼的javascript并在html标记之外绑定点击事件是一个很好的做法:

$('button').click(function() { //clear inputs });

您的问题是因为您将变量设置为元素的字符串值,而不是包含元素的jQuery对象。

试试这个:

var $contact_title = $('#contact_title');
var $contact_summary = $('#bbcode');
$contact_title.val('');
$contact_summary.val('');

或者;

$('#contact_title').val('');
$('#bbcode').val('');

变量($contact_title)包含文本,而不是实际的dom元素,据我所知。如果你把它改成

$('#contact_title').val('');
你会没事的。

您必须使用与从这些文件中获取值时相同的语法。试一试:

$('#contact_title').val('');
$('#bbcode').val('');

在js中更容易编写/读取javascript代码。这里有一个答案。http://jsfiddle.net/7RFYx/

jQuery(document).ready(function () { 
    var $contact_title = $('#contact_title');
    var $contact_summary = $('#bbcode');
    var $contact_summary_val = $contact_summary.val();
    var $contact_title_val = $contact_title.val();
    $contact_title.val('');
    $contact_summary.val('');
});