我想清除表单中的所有输入和文本区域字段。当使用reset类的输入按钮时,它的工作原理如下:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
这将清除页面上的所有字段,而不仅仅是表单中的字段。我的选择器看起来像什么形式的实际重置按钮生活?
我想清除表单中的所有输入和文本区域字段。当使用reset类的输入按钮时,它的工作原理如下:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
这将清除页面上的所有字段,而不仅仅是表单中的字段。我的选择器看起来像什么形式的实际重置按钮生活?
当前回答
如果有人还在阅读这篇文章,这里有一个最简单的解决方案,使用的不是jQuery,而是纯JavaScript。如果你的输入字段在表单中,有一个简单的JavaScript重置命令:
document.getElementById("myform").reset();
更多信息请点击这里: http://www.w3schools.com/jsref/met_form_reset.asp
干杯!
其他回答
我在这里看到的代码和相关的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()) })
如果我遗漏了什么或者有什么需要改进的地方,请告诉我。
$('#editPOIForm').each(function(){
this.reset();
});
其中editPOIForm是表单的id属性。
你们中的一些人抱怨无线电和诸如此类的默认“已检查”状态被清除…你所要做的就是将:radio,:复选框选择器添加到.not中,问题就解决了。
如果你不能让所有其他重置函数工作,这个可以。
改编自ngen的回答 函数form_reset (formID) { $(':输入',' # ' + formID) 另(‘:按钮’,‘:提交’,”:重置”,“:隐藏”,“:广播”,“:复选框”) .val ("); }
$('form').submit(function() {
var el = $(this);
$('<button type="reset" style="display:none; "></button>')
.appendTo(el)
.click()
.remove()
;
return false;
});
添加隐藏复位按钮如下
<input id="resetBtn" type="reset" value="reset" style="display:none" />
// Call reset buttons click event
// Similar to ClearInputs('resetBtn');
function ClearInputs(btnSelector) {
var btn = $("#" + btnSelector);
btn.click();
}