gpt4 book ai didi

javascript - 如何在我的 create.js.erb 中重置/清除表单?

转载 作者:搜寻专家 更新时间:2023-11-01 05:25:06 25 4
gpt4 key购买 nike

我无法正确重置我的表单。它提交并进入数据库,但所有内容都保留在表单上。

这是我的代码:

狗 Controller

def create
@dog = current_user.dogs.new(params[:dog])
if @dog.save
format.js
else
format.js
end
end

dog/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

dog/new.js.erb

$('.add-dog-form').html('<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>');

狗/_form

<%= form_for(@dog, :remote => true) do |f| %>
<%= f.label :name, "Name" %>
<%= f.text_field :name %>
<%= f.submit "Add Dog" %>
<% end %>

我在宠物 View 中创建狗而不是狗。

宠物 Controller

  def add
@dog = Dog.new
@cat = Cat.new
@bird = Bird.new
end

pets/add.html.erb

我单击选项卡,使用 Twitter Bootstraps Tabbable Nav ability 将其更改为狗选项卡

<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>

如果创建了表单,我该如何重置它?

最佳答案

尝试给表单一个 id:

<%= form_for(@dog, :remote => true, :html => { :id => 'dog_form' } ) do |f| %>

$('#dog_form')[0].reset();

或者,您可以执行 $(":input:not(input[type=submit])").val("");

关于javascript - 如何在我的 create.js.erb 中重置/清除表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11705662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com