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

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

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


当前回答

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

其他回答

添加隐藏复位按钮如下

<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();
}
$('#editPOIForm').each(function(){ 
    this.reset();
});

其中editPOIForm是表单的id属性。

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

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

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

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

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

为什么需要用JavaScript来完成呢?

<form>
    <!-- snip -->
    <input type="reset" value="Reset"/>
</form>

http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-keywords


先尝试一下,它不会清除具有默认值的字段。

下面是一种用jQuery实现的方法:

$('.reset').on('click', function() {
    $(this).closest('form').find('input[type=text], textarea').val('');
});