我正在尝试使用AJAX提交Rails表单。
我有一些切换开/关jQuery功能,将某些颜色设置为绿色和红色,如果有人喜欢或不喜欢。
我正在尝试的是让它调用我的jQuery函数来切换颜色,然后将带有ajax的表单提交给rails函数,其状态为like / dislike。
我的表格:
#wrapper_select.like_select
= form_for @paintings, :url => "/paintings/handlelike", :method => "post", :remote => true, :html => {:name => 'form'} do |f|
= hidden_field_tag :s_id, params[:id]
= hidden_field_tag :likes, params[:choice]
jQuery函数:
$('.like_select').click(function () {
if (this.className.match(/like_yes|like_no/)) $(this).toggleClass('like_yes like_no');
else $(this).toggleClass('like_yes');
})
如何调用toggle js函数(该函数可以自行运行)并使用ajax提交表单,然后在用户喜欢/不喜欢的情况下提交值?
答案 0 :(得分:1)
使用jquey.form插件中的ajaxsubmit函数,你可以调用另一个函数。 这是jquery.form插件的链接。
http://jquery.malsup.com/form/
_ __ _ __ _ __ _ _EDIT 2_ _ __ _ __ _ __ _ __ 强>
= javascript_include_tag "jquery.form", "jquery.validate", "attachment_validation"
= form_for @paintings, :url => "/paintings/handlelike", :method => "post", :remote => true, :html => {:id => "submit_form_id",:onsubmit => "return false;", :name => 'form'} do |f|
= submit_tag "submit", :class => "ClickClose", :id => "submit_form_btn"
你的js
$("#submit_form_btn").click(function() {
//call your second function before submitting
$('#submit_form_id').submit(function() {
$(this).unbind('submit').ajaxSubmit({
success: function(data) {
//do something on success case.
}
})
return false
});
});
答案 1 :(得分:1)
使用Jquery ajax提交表单需要额外的东西来处理。
最好看到它。这是一个很好的例子我认为
http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/