重置按钮在提交之前有效,但在表单提交后没有

时间:2013-03-18 14:42:03

标签: ruby-on-rails ruby-on-rails-3 forms

在单击表单上的提交之前,以下代码有效。因此,如果我在提交前填写字段,然后点击重置,则效果很好。

<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 个答案:

答案 0 :(得分:3)

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

您可以通过执行以下操作来对此进行测试。

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

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

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

答案 1 :(得分:1)

同一个按钮:

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

在你的javascript文件中:

$('.advanced-reset-btn').click(function() { $('#your-form')[0].reset() })

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

$(&#39;表单输入&#39;)。attr(&#34;值&#34;,&#34;&#34;);

相关问题