使用jQuery清除表单

时间:2016-12-29 14:56:10

标签: javascript jquery

我正在使用下面的代码重置特定表单上的所有值。

        $('#' + frm).closest('form').find("input[type=text], textarea").val("");
        $('#' + frm).closest('form').find("input[type=password]").val("");
        $('#' + frm).find('input[type=checkbox]:checked').removeAttr('checked');
        $('#' + frm + ' input[type="radio"]').prop('checked', false);

它适用于95%的情况,但我想将所有选择框重置回所选的0的索引。如果有更好或更有效的方法来完成整个过程以重置所有元素类型我我愿意接受最好的建议。我需要重置表单,因为同一个人会一遍又一遍地使用相同的表单来添加工作历史。

感谢输入

2 个答案:

答案 0 :(得分:1)

您可以实现自己的重置表单方法:

jQuery.fn.reset = function(fn) {
   return fn ? this.bind("reset", fn) : this.trigger("reset");
 };

这将允许您将代码附加到重置功能:

jQuery("#form").reset(function(){ 
   /* some other code */ 
 });

您可以(并且仍然是推荐的方法)使用类型为reset的简单HTML输入 - 即使在禁用JavaScript的浏览器上也会这样做。

答案 1 :(得分:1)

您可以使用Form reset() Method

  

reset()方法重置表单中所有元素的值(相同   单击“重置”按钮。)

 $('#' + frm).closest('form')[0].reset();