在Ruby on Rails中使用form_for触发jQuery
问题描述:
我是Ruby on Rails的新手,我试图使form_for
触发一个jQuery函数。在Ruby on Rails中使用form_for触发jQuery
我对表单代码是下一个:
<%= form_for @company, :url => create_paying_registration_path(:industry => apt(@plan.industry, :industries), :plan => @plan.name),
:html => {:id => "card-form"} do |f| %>
<%= render 'form_carrier', :company => @company, :plan => @plan, :f => f %>
<% end %>
和jQuery:
jQuery ($) ->
$("#card-form").submit ->
$form = $(this)
$form.find("button").prop "disabled", true
Conekta.token.create tokenParams, conektaSuccessResponseHandler, conektaErrorResponseHandler
false
return
形式不触发jQuery的功能,但如果我使用一个form_tag
,它触发了jQuery功能:
<%= form_tag('/checkouts/charge', id: 'card-form') do %>
我的问题是,我在做什么错误form_for
? 我需要触发jQuery,然后重定向到窗体的路径。
在此先感谢。
答
将onsubmit到的form_for
form_for @paintings, :url => "/paintings/handlelike", :method => "post", :remote => true, :html => {:id => "submit_form_id",:onsubmit => "yourFunction();", :name => 'form'} do |f|
而在你的JS:
yourFunction() {
$form = ...
...
}
对我来说,使用jQuery的语法看起来很奇怪。然而,如果你将这个应用在一个纯html表单上,你的jQuery代码是否可以工作,如本地示例测试? – reporter
对不起,我忘了提及,jQuery写在'coffeescript'代码工作时,我使用form_tag和纯html表单,但不适用于form_for – rockar06
您是否尝试使用onSubmit与form_for? –