[英]Clear all contents of form with JQuery
有没有一种方法可以使用JQuery清除表单的所有表单元素?
说我有一个如下表格:
<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("");
});
});
此方法清除每个表单元素,但是有没有更广泛的方法可以清除整个表单的内容? 一些伪像$('#myForm').clearInputs();
? 如果这样,一次清除所有元素比清除元素1,清除元素2容易/短。
我的第一个答案是给所有输入,文本区域,单选框和复选框一个独特的类,如.clear-after
,然后只需要一行JS:
$('.clear-after').val('');
但是在查找之后,有一些普通的JS可以做到这一点:
document.getElementById("myForm").reset();
要么
$("#myForm").reset();
这是捕获广播和复选框的另一种方法。
$('#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;
}
});
这将在表单的所有文本输入字段上运行val("")
:
$('#myForm input[type="text"]').val("");
您可以使用单个选择器将函数应用于以下形式的所有输入:
$('#myForm input').val("");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.