我的商店表单由ajax创建,并希望重置它拥有的某些字段。这是我的代码,从表单一直呈现到自己的视图开始:
呈现的位置:
宠物/ index.html.erb
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active">
<a href="#tab1" data-toggle="tab">Store</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active add-store-form" id="tab1">
<%= render "stores/form" %>
</div>
</div>
</div>
如何创建:
注意:我的new和create视图都具有完全相同的代码。
new.js.erb&amp; create.js.erb(只有这一行)
$('.add-store-form').html('<%= escape_javascript(render(:partial => 'stores/form', locals: { store: @store })) %>');
现在,在我的商店表单上,我想重新设置#
字段:
<%= form_for(@store, :remote => true, :html => { :class => "add-form", :id => "sform" }) do |f| %>
# <%= f.text_field :name %>
# <%= f.check_box :personal %>
<%= f.collection_select :category_id, Category.all, :id, :name, {}, {} %>
# <%= f.text_field :address %>
<%= f.text_field :website %>
# <%= f.text_field :phone_number %>
<%= f.submit "Create" %>
如何仅重置这些特定字段?
答案 0 :(得分:1)
这是Clear form fields with jQuery的重复问题。
因此,您应该包含一个具有以下功能的js文件(不是 new.js.erb
或create.js.erb
):
$('#sform').live('submit', function() {
$('#name').val(""); # this only resets the name field, provided it has the id 'name'
});
我在链接到的问题的答案中有其他示例。只需注意,当我建议您在单击“创建”按钮时使用表单提交事件时,他们使用单击按钮来重置字段。