我想清除表单中的所有输入和文本区域字段。当使用reset类的输入按钮时,它的工作原理如下:

$(".reset").bind("click", function() {
  $("input[type=text], textarea").val("");
});

这将清除页面上的所有字段,而不仅仅是表单中的字段。我的选择器看起来像什么形式的实际重置按钮生活?


当前回答

经过测试和验证的代码:

  $( document ).ready(function() {
    $('#messageForm').submit(function(e){
       e.preventDefault();
    });
    $('#send').click(function(e){
      $("#messageForm")[0].reset();
    });
  });

Javascript必须包含在$(document)中。准备好了,而且必须符合你的逻辑。

其他回答

让我们说,如果你想清除字段,除了accountType,在同一时间下拉框将被重置为特定的值,i。“所有”。其余字段应重置为空即文本框。这种方法将用于清除我们需要的特定字段。

 $(':input').not('#accountType').each( function() {

    if(this.type=='text' || this.type=='textarea'){
             this.value = '';
       }
    else if(this.type=='radio' || this.type=='checkbox'){
         this.checked=false;
      }
         else if(this.type=='select-one' || this.type=='select-multiple'){
              this.value ='All';
     }
 });

简单却很有魅力。

$("#form").trigger('reset'); //jquery
document.getElementById("myform").reset(); //native JS

为什么不使用document.getElementById("myId").reset();? 这是简单而漂亮的

使用Javascript,您可以简单地使用以下语法getElementById("your-form-id").reset();

你也可以通过调用重置函数来使用jquery $('#your-form-id')[0].reset();

记得不要忘记[0]。如果,您将得到以下错误

TypeError: $(…)。重置不是一个函数

JQuery还提供了一个可以使用的事件

$ (' # form_id ') .trigger(“重置”);

我试过了,成功了。

注意:需要注意的是,这些方法只会将表单重置为服务器在页面加载时设置的初始值。这意味着如果你的输入在你做随机改变之前被设置为值“set value”,那么在reset方法被调用后,该字段将被重置为相同的值。

希望能有所帮助

我有个最简单的重置姿势的技巧

jQuery("#review-form")[0].reset();

$("#review-form").get().reset();