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

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

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


当前回答

如果你想清空所有的输入框,不管它的类型是什么,那么这是一分钟的步骤

 $('#MyFormId')[0].reset();

其他回答

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

如果您使用选择器并使值为空值,这不是重置表单,而是使所有字段为空。重置是从服务器端加载表单后,使表单成为用户任何编辑操作之前的状态。如果有一个名为“username”的输入,并且该用户名是从服务器端预填充的,本页上的大多数解决方案将从输入中删除该值,而不是将其重置为用户更改之前的值。如果你需要重置表单,使用这个:

$('#myform')[0].reset();

如果您不需要重置表单,而是用一些值填充所有输入,例如空值,那么您可以使用其他注释中的大多数解决方案。

通过使用JQuery的.trigger()和原生javascript的.reset()的组合,可以将所有表单元素重置为空白状态。

$(".reset").click(function(){
    $("#<form_id>").trigger("reset");
});

将<form_id>替换为form的id来重置。

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

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

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

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

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

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

我试过了,成功了。

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

希望能有所帮助

最简单和最好的解决方案是- $(" #形式”)[0].reset ();

不要在这里用- $ () [0] .reset ();