(由于我对mozilla有疑问,我必须在提交后清空FORM。)
提交时,我需要清空FORM值。有没有更简洁,更简单的方法呢?
$('#name').val(''); // empty form input
$('#comment').val(''); // empty form textarea
$('#email').val(''); // empty form input
某事:(错误)
$('#name','#comment','#email').val('');
答案 0 :(得分:3)
普通表单.reset()
help方法适合您。由于此方法是来自HTMLInputElement
的本机“DOM”方法,因此您需要从jQuery对象中获取DOMNode
。这可以通过调用.get(0)
help(从jQuery数组类对象中获取第一个元素)或只用括号访问它来实现。
$('form')[0].reset();
演示:http://www.jsfiddle.net/53SRZ/
另一个选择是使用像
这样的选择器$('form input').val('');
如果您不需要仅清除特定元素。
答案 1 :(得分:2)
您使用逗号分隔您的函数参数而不是您的选择器。你的所有选择器都有一个字符串参数:
$('#name, #comment, #email').val('');
答案 2 :(得分:2)
您写道:
$('#name','#comment','#email').val('');
关闭,但不完全。正确的解决方案就是将它们全部放入相同的字符串中,如下所示:
$('#name, #comment, #email').val('');
答案 3 :(得分:2)
尝试$('#name, #comment, #email').val('');
。
报价应该包含您选择的所有内容。你告诉jQuery本质上是一个CSS选择,整个块#name, #comment, #email
是一个有效的CSS选择器。