Javascript submit()首次在rails中不起作用

Javascript submit()首次在rails中不起作用,javascript,ruby-on-rails,ruby,spree,thickbox,Javascript,Ruby On Rails,Ruby,Spree,Thickbox,我正在开发一个电子商务网站。。现在我有一点被卡住了。。当我提交表单时,它不会在第一次单击时提交,我需要再次单击以使其正常工作。。。我已经使用锚定标签提交了我的数据,因为我想在thickbox(iframe)中显示数据。 查看文件 填充"订单"url,:html=>{:class=>“data"product.id},:method=>“post”,:remote=>true do | f |%> //资料 //提交按钮 订单控制器.rb def填充 @订单=当前订单(真) 参数[:产品]。每个d

我正在开发一个电子商务网站。。现在我有一点被卡住了。。当我提交表单时,它不会在第一次单击时提交,我需要再次单击以使其正常工作。。。我已经使用锚定标签提交了我的数据,因为我想在thickbox(iframe)中显示数据。

查看文件
填充"订单"url,:html=>{:class=>“data"product.id},:method=>“post”,:remote=>true do | f |%>
//资料
//提交按钮
订单控制器.rb
def填充
@订单=当前订单(真)
参数[:产品]。每个do |产品_id,变量_id|
数量=参数[:数量]。如果!参数[:数量]。是否为?(散列)
数量=参数[:数量][变量\u id]。如果参数[:数量],则发送到\u i。是吗?(散列)
@订单。如果数量>0,则添加变量(变量。查找(变量\u id)、数量、特殊选项\u值\u id、产品\u定制)
如果参数[:产品]结束
参数[:变量]。每个do |变量_id,数量|
数量=数量。至_i
@订单。如果数量>0,则添加变量(变量。查找(变量\u id)、数量、特殊选项\u值\u id、产品\u定制)
如果参数[:变量]
火灾事件('spree.cart.add')
火灾事件('spree.order.contents\u changed')
重定向到购物车
结束

我在firebug和populate中看到过方法被处理,但它没有将数据发送到购物车,它显示我是空的购物车..并且购物车正在处理..

您正在发送ajax请求,从表单中删除
:remote=>true
选项并进行检查。

是的,我知道,但如果我删除它,购物车页面将不会在thickbox中打开。。。。。我想在thickbox中打开它..重定向到..根据我对ajax请求的了解,您无法工作,您必须呈现一些js并
ajax:success
使用javascript窗口重定向到购物车页面或编写一些适当的js。
  View file
  <%= form_for :order, :url => populate_orders_url ,:html => { :class => "data# product.id}"},:method => "post",:remote => true do |f| %>

 // data 
//submit button


    <a href="/cart?KeepThis=true&TB_iframe=true&height=380&width=1000&modal=false"  onclick="$('.data<%= product.id %>').submit().trigger.reload();"   class="thickbox cart_button"></a>

 orders controller.rb
 def populate
  @order = current_order(true)

  params[:products].each do |product_id,variant_id|
    quantity = params[:quantity].to_i if !params[:quantity].is_a?(Hash)
    quantity = params[:quantity][variant_id].to_i if params[:quantity].is_a?(Hash)
    @order.add_variant(Variant.find(variant_id), quantity, ad_hoc_option_value_ids, product_customizations) if quantity > 0
  end if params[:products]

  params[:variants].each do |variant_id, quantity|
    quantity = quantity.to_i
    @order.add_variant(Variant.find(variant_id), quantity, ad_hoc_option_value_ids, product_customizations) if quantity > 0
  end if params[:variants]

  fire_event('spree.cart.add')
  fire_event('spree.order.contents_changed')

  redirect_to cart 

end