rails SweetAlert 2在ie11中无效

时间:2016-08-09 00:06:30

标签: javascript jquery ruby-on-rails internet-explorer sweetalert

在我的rails应用程序中,当用户点击按钮时,浏览器会发送一个js post请求,控制器会计算一些内容,然后将js SweetAlert2(swal)返回给浏览器。

它在chrome,firefox和safari上运行得非常好。但是在ie11上,单击按钮时没有任何反应!知道为什么吗?

以下是发送js post请求的视图中的submit_tag按钮。

<%= form_tag('check_exemption', remote: true) do %>
  # Here are some radio buttons that are used to pass parameters to the controller. 

  <p><%= submit_tag('Check Exemption', class: 'btn btn-danger btn-block btn-xl') %></p>
<% end %>

这是路线:

post ':action', to: 'protected_assets#check_exemption'

以下是protected_assets_controller中的操作:

def check_exemption
  # Here the controller calculates some stuff to be returned in the swal below.

  respond_to do |format|
    format.html { redirect_to root_url }
    format.js { render js: "swal('#{@financial_product.product_exemption_text}', '#{@financial_product.twelve_months_exempt_text} #{@financial_product.withdrawals_exemption_text}', '#{@financial_product.swal_type}')" }
  end
end

这是ie11检查面板,我们看到swal正确返回。但是,swal没有显示在屏幕上!请注意,该页面也不会重定向到root_url,如果请求是html请求而不是js:

ie 11 panel

我是铁杆,网站开发,javascript,html,css等新手的业余爱好者。所以请写下你的答案,好像你正在和一个孩子或一个聪明的狗交谈。

1 个答案:

答案 0 :(得分:1)

我找到了答案。

我正在使用gem&#39; rails-assets-sweetalert2&#39;来自rails-assets.org。说明说您只需要在application.js中添加//= require sweetalert2

但是,我发现您还需要添加//= require es6-promise,因为宝石&#39; rails-assets-sweetalert2&#39;取决于宝石&rbsp; rails-assets-es6-promise&#39;用于IE兼容性。

现在一切都按预期工作了。