在单击表单上的提交之前,以下代码有效。因此,如果我在提交前填写字段,然后点击重置,则效果很好。
<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" />
答案 0 :(得分:3)
RESET输入类型将表单重置回页面加载时的状态,而不是返回空表单。提交表单后,表单将预先填入提交的数据。重置表单会将其重置为此预填充状态。
您可以通过执行以下操作来对此进行测试。
在字段中输入ABC并提交表单。页面重新加载,表格预填充了ABC。
将字段更改为ABCDEF。单击“重置”。表格重置为ABC。
这是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;);