是否有方法使用JQuery清除表单的所有表单元素?
说我有一个如下表格:
SQL azure
我可以做类似下面的事情:
<form id="myForm">
Name: <input type="text" name="name"/> <br/>
Message: <input type="text" name="message"/>
<input type="submit" value="Submit Form"/>
</form>
此方法清除每个表单元素,但是有一个更广泛的方法只清除整个表单的内容吗?有些伪像$(document).ready(function() {
$('#myForm').submit(function(event) {
event.preventDefault();
//ajax call here
}).done(function() {
$('input[name="name"]').val("");
$('input[name="message"]').val("");
});
});
?如果只是这样,比清除元素1更容易/更短时间清除所有元素,清除元素2,......
答案 0 :(得分:2)
我的第一个答案是给你的所有输入,textareas,无线电和复选框一个独特的类,如.clear-after
,然后你只需要一行JS:
$('.clear-after').val('');
但是在查阅之后,有一些香草JS将会这样做:
document.getElementById("myForm").reset();
或
$("#myForm").reset();
答案 1 :(得分:2)
这是捕获无线电和复选框的另一种方式。
$('#myForm').find(':input').each(function() {
switch (this.type) {
case 'password':
case 'select-multiple':
case 'select-one':
case 'text':
case 'textarea':
$(this).val('');
break;
case 'checkbox':
case 'radio':
this.checked = false;
}
});
答案 2 :(得分:1)
这将在所有表单的文本输入字段上运行val("")
:
$('#myForm input[type="text"]').val("");
答案 3 :(得分:0)
您可以使用单个选择器将函数应用于表单中的所有输入:
$('#myForm input').val("");