Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用haml在RoR中的确认表单运行控制器操作_Javascript_Ruby On Rails_Ruby_Haml - Fatal编程技术网

Javascript 使用haml在RoR中的确认表单运行控制器操作

Javascript 使用haml在RoR中的确认表单运行控制器操作,javascript,ruby-on-rails,ruby,haml,Javascript,Ruby On Rails,Ruby,Haml,是否有任何可能的方法在控制器操作之前使用确认表单来运行控制器操作 我想问用户他/她是否真的确定要执行以下操作。确认后,运行此操作。在其他情况下,什么也不做 我已经尝试了以下代码: = form_tag( '#', onclick: "confirm('#{text}')", :controller => :payments, :action => :pay, :subscription_id => subscription_plan) do = hidden_field_t

是否有任何可能的方法在控制器操作之前使用确认表单来运行控制器操作

我想问用户他/她是否真的确定要执行以下操作。确认后,运行此操作。在其他情况下,什么也不做

我已经尝试了以下代码:

= form_tag( '#', onclick: "confirm('#{text}')", :controller => :payments, :action => :pay, :subscription_id => subscription_plan) do
  = hidden_field_tag 'current_subscription', subscription_plan.id
  .payment_button= image_submit_tag "/images/popup/payment/#{label_img}", :value => label.to_s, data: { disable_with: "Please wait..." }
我很感兴趣的是,没有JavaScript有什么方法可以做到这一点吗

是的,有办法

.payment_button= image_submit_tag "/images/popup/payment/#{label_img}", :value => label.to_s, data: { confirm: 'Your confirm message', disable_with: "Please wait..." }
或者另一种方式是

= form_tag( '#', onsubmit => "return confirm('Are you sure?');", :controller => :payments, :action => :pay, :subscription_id => subscription_plan) do

事实上,如果没有启用JavaScript和包含jQueryUjs库,这也不会起作用。这只是Rails为您添加此JavaScript功能的抽象。所以从技术上讲,它不是一个“非JavaScript解决方案”。