Uncaught TypeError:$(…)[0]。重置不是函数

问题描述 投票:0回答:1

目标

成功提交表单后,我想将表单重置为空。

问题

提交表单后,我在控制台中收到以下错误消息:Uncaught TypeError: $(...)[0].reset is not a function

当我在重置之前用console.log记录我的内容时,我得到以下表格:<div id=new-store-form>..</div>

到目前为止我检查过的内容

  • 在我的应用程序中,没有ID,类或称为“重置”的其他任何东西
  • 纯JavaScript document.getElementById('new-store-form').reset();会向我显示相同的错误消息。

代码views / stores / index.html.erb

<div class="show-panel-form"></div>
  <%= render "partials/show_panel_stores_overview"%>
</div>

views / partials / show_panel_stores_overview.html.erb

<%= link_to 'New store', new_store_path, remote: true %>

views / stores / new.js.erb

var form = $("<%= j(render 'form') %>");
var wrapper = $('<div>').attr('id', 'new-store-form').append(form);
$('.show-panel-form').html(wrapper);

视图/商店/表单

<%= simple_form_for (Store.new) do |f|%>
<%= f.input :name %>
<%= f.button :submit%>

views / stores.create.js.erb

var form = $("<%= j(render 'form') %>");
var wrapper = $('<div>').attr('id', 'new-store-form').append(form);
$('.show-panel-form').html(wrapper);
console.log($("#new-store-form")[0])
$("#new-store-form")[0].reset(); // doesn't work

商店控制器

def new
    @store = current_user.store.build
    @store.age_tables.build
    respond_to do |format|
      format.html { redirect_to root_url, alert: 'Page not accessible' }
      format.js
    end
    authorize @store

  end

  def create
    @store = current_user.stores.create(store_params)
    authorize @store
    if @store.save
      respond_to do |format|
        format.js
      end
    else
      format.js
    end
  end
javascript ruby-on-rails ajax simple-form
1个回答
0
投票

使用与表单匹配的选择器,而不是包装器$('#new-store-form form').reset()(请注意要在div中选择实际的表单标签的额外“表单”)

© www.soinside.com 2019 - 2024. All rights reserved.