0

在我单击表单提交之前,以下代码有效。因此,如果我在提交之前填写这些字段,然后单击“重置”,效果会很好。

<input type="reset" class="advanced-reset-btn" id="advancedResetButton" name="advancedResetButton" value="Reset" />

但是当我点击这个作品提交后,什么也没有发生。它不会像应有的那样重置字段 关于提交 onclick 后我应该如何清除表单的任何建议?

更新

<form id="advancedSearchOrder" name="advancedSearchForm" value="advancedSearch" action="" class=" search line" method="GET" >
<span class="advancedSearchFormlabel">Order Id</span>
      <%= text_area_tag('filters[order_id]',filter_params['order_id'],:rows=>10) %>
...
...
...
<input type="submit" class="advanced-search-btn" id="advancedSearchButton" name="advancedSearchButton" value="Search"/>
<input type="reset" class="advanced-reset-btn" id="advancedResetButton" name="advancedResetButton" value="Reset" />
4

4 回答 4

3

RESET 输入类型将表单重置为页面加载时的状态,而不是重置为空表单。提交表单后,表单会预先填充提交的数据。重置表单会将其重置回此预填充状态。

您可以通过执行以下操作来测试它。

  1. 在字段中输入 ABC 并提交表单。页面重新加载,表单预先填充了 ABC。

  2. 将字段更改为 ABCDEF。单击重置。表格重置为 ABC。

这是 RESET 的正常行为,熟悉 RESET 按钮的人会期望它的行为是这样的。如果您想删除表单上的所有字段,您可能必须使用类似于 Amar 答案的 javascript。另一种选择是清除控制器中的值,以便在每次提交表单后向客户端发送一个新的空表单。

于 2013-03-19T14:37:56.103 回答
1

相同的按钮:

<input class='advanced-reset-btn'>Reset</input>

在你的 javascript 文件中:

$('.advanced-reset-btn').click(function() { $('#your-form')[0].reset() })
于 2013-03-18T14:45:36.063 回答
1

您可以使用 jquery 或 javascript 在单击时重置表单 $('#form_id')[0].reset();或像这样手动休息值或$("#form_id").find("input[type=text], textarea").val("")

于 2013-03-18T14:45:36.563 回答
1

jquery val() 函数作用于元素的属性。尝试删除该属性。

$('表单输入').attr("值", "");

于 2014-10-09T08:29:13.510 回答