我想清除表单中的所有输入和文本区域字段。当使用reset类的输入按钮时,它的工作原理如下:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
这将清除页面上的所有字段,而不仅仅是表单中的字段。我的选择器看起来像什么形式的实际重置按钮生活?
我想清除表单中的所有输入和文本区域字段。当使用reset类的输入按钮时,它的工作原理如下:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
这将清除页面上的所有字段,而不仅仅是表单中的字段。我的选择器看起来像什么形式的实际重置按钮生活?
当前回答
使用Javascript,您可以简单地使用以下语法getElementById("your-form-id").reset();
你也可以通过调用重置函数来使用jquery $('#your-form-id')[0].reset();
记得不要忘记[0]。如果,您将得到以下错误
TypeError: $(…)。重置不是一个函数
JQuery还提供了一个可以使用的事件
$ (' # form_id ') .trigger(“重置”);
我试过了,成功了。
注意:需要注意的是,这些方法只会将表单重置为服务器在页面加载时设置的初始值。这意味着如果你的输入在你做随机改变之前被设置为值“set value”,那么在reset方法被调用后,该字段将被重置为相同的值。
希望能有所帮助
其他回答
如果你想清空所有的输入框,不管它的类型是什么,那么这是一分钟的步骤
$('#MyFormId')[0].reset();
通过使用JQuery的.trigger()和原生javascript的.reset()的组合,可以将所有表单元素重置为空白状态。
$(".reset").click(function(){
$("#<form_id>").trigger("reset");
});
将<form_id>替换为form的id来重置。
我在这里看到的代码和相关的SO问题似乎不完整。
重置表单意味着从HTML中设置原始值,所以我根据上面的代码将其放在一个小项目中:
$(':input', this)
.not(':button, :submit, :reset, :hidden')
.each(function(i,e) {
$(e).val($(e).attr('value') || '')
.prop('checked', false)
.prop('selected', false)
})
$('option[selected]', this).prop('selected', true)
$('input[checked]', this).prop('checked', true)
$('textarea', this).each(function(i,e) { $(e).val($(e).html()) })
如果我遗漏了什么或者有什么需要改进的地方,请告诉我。
对于jQuery 1.6+:
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.prop('checked', false)
.prop('selected', false);
对于jQuery < 1.6:
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
请看这篇文章: 使用jQuery重置多级表单
Or
$('#myform')[0].reset();
jQuery建议:
要检索和更改DOM属性,例如表单元素的选中、选中或禁用状态,请使用.prop()方法。
当页面包含一个涉及IHttpHandler请求处理(captcha)的web用户控件调用时,以上任何一种方法都不适用。 在发送请求(用于图像处理)后,下面的代码不清除表单上的字段(在发送HttpHandler请求之前),一切都正常工作。
<input type="reset" value="ClearAllFields" onclick="ClearContact()" />
<script type="text/javascript">
function ClearContact() {
("form :text").val("");
}
</script>