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>
答案 0 :(得分:3)
您的问题是因为您将变量设置为元素的字符串值,而不是包含元素的jQuery对象。
试试这个:
var $contact_title = $('#contact_title');
var $contact_summary = $('#bbcode');
$contact_title.val('');
$contact_summary.val('');
或者;
$('#contact_title').val('');
$('#bbcode').val('');
答案 1 :(得分:3)
您应该将元素存储在变量中,而不是值。
所以,你的代码应该是:
var $contact_summary = $('#bbcode');
$contact_summary.val('');
顺便说一下,使用unobtrusive javascript并将你的点击事件绑定到html标记之外是一个好习惯:
$('button').click(function() { //clear inputs });
答案 2 :(得分:1)
您的变量($ contact_title)包含文本,而不是实际的DOM元素。如果将其更改为
$('#contact_title').val('');
你没事。
答案 3 :(得分:1)
您必须使用与从这些字段中获取值时使用的语法相同的语法。 尝试:
$('#contact_title').val('');
$('#bbcode').val('');
答案 4 :(得分:1)
在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('');
});