Lea*_*RoR 4 javascript ajax ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1
我无法正确重置我的表单.它提交并转到数据库,但所有内容都保留在表单上.
这是我的代码:
DogsController
def create
@dog = current_user.dogs.new(params[:dog])
if @dog.save
format.js
else
format.js
end
end
Run Code Online (Sandbox Code Playgroud)
狗/ create.js.erb
$('.add-dog-form').html('<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>');
$('.add-dog-form > form')[0].reset(); // doesn't work
Run Code Online (Sandbox Code Playgroud)
狗/ new.js.erb
$('.add-dog-form').html('<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>');
Run Code Online (Sandbox Code Playgroud)
狗/ _form
<%= form_for(@dog, :remote => true) do |f| %>
<%= f.label :name, "Name" %>
<%= f.text_field :name %>
<%= f.submit "Add Dog" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我在Pets视图而不是狗创建狗.
PetsController
def add
@dog = Dog.new
@cat = Cat.new
@bird = Bird.new
end
Run Code Online (Sandbox Code Playgroud)
宠物/ add.html.erb
我点击选项卡,使用Twitter Bootstraps Tabbable Nav功能将其更改为Dog选项卡
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active">
<a href="#tab1" data-toggle="tab">Cat</a>
</li>
<li>
<a href="#tab2" data-toggle="tab">Dog</a>
</li>
<li>
<a href="#tab3" data-toggle="tab">Bird</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active add-cat-form" id="tab1">
<%= render "cats/form" %>
</div>
<div class="tab-pane add-dog-form" id="tab2">
<%= render "dogs/form" %>
</div>
<div class="tab-pane add-bird-form" id="tab3">
<%= render "birds/form" %>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果创建表单,我该如何重置表单?
尝试给表单一个id:
<%= form_for(@dog, :remote => true, :html => { :id => 'dog_form' } ) do |f| %>
Run Code Online (Sandbox Code Playgroud)
和$('#dog_form')[0].reset();.
或者,你可以做到$(":input:not(input[type=submit])").val("");.
| 归档时间: |
|
| 查看次数: |
3463 次 |
| 最近记录: |