我正在使用jQuery函数来清除所有表单值。
$.fn.clearForm = function() {
return this.each(function() {
var type = this.type, tag = this.tagName.toLowerCase();
if (tag == 'form')
return $(':input',this).clearForm();
if (type == 'text' || type == 'password' || tag == 'textarea')
this.value = '';
else if (type == 'checkbox' || type == 'radio')
this.checked = false;
else if (tag == 'select')
this.selectedIndex = -1;
});
};
上述功能的问题是它不会重置文件输入字段。无论如何,我可以扩展该功能,并使其与清除文件输入字段一起工作。
这里是我正在使用的文件输入字段HTML代码。
<section><label for="productimg">Picture<br></label>
<div><input type="file" id="productimg" name="productimg"></div>
</section>
谢谢..
答案 0 :(得分:12)
尝试使用表单重置,以返回初始值 -
$('#form_id').each(function(){
this.reset();
});
演示 - http://jsfiddle.net/hPytd/&amp; http://jsfiddle.net/hPytd/1/
答案 1 :(得分:2)
您可以在表单元素上调用native reset()方法:
$('#myform')[0].reset();
答案 2 :(得分:2)
您可以使用html替换文件输入来执行此操作,
var id=$(this).attr('id');
$(this).replaceWith("<input type='file' id='"+id+"' />");
答案 3 :(得分:0)
您是否曾尝试将类型文件添加到验证中,如下所示:
if(type =='text'|| type =='password'|| tag =='textarea'|| type =='file')
答案 4 :(得分:0)