繁体   English   中英

如何在jQuery中清空文本框,textarea

[英]How to empty a textbox, textarea in jquery

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>

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

尝试这个:

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

或者

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

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

因此,您的代码应为:

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

顺便说一句,使用通俗易懂的javascript并将您的click事件绑定到html标记之外是一个好习惯:

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

据我所知,您的变量($ 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('');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM