0

我在 Ruby on Rails 上有这段代码:

 simple_form_for :projectssss, :html => {:id => 'projectsssss_opt'} do |f|            
  f.input :name, :label => ("name")                                  
  f.input :title, :label => ('title')                                      
  f.submit "Submit", :id => 'btn'     

而这个Javascript:

$.ajax({                                                                     
  type: "POST",                                                            
  url: api_url,                                                            
  data: [ what to put here ???],                                                               
  success: function ( status ) {                            
 alert("HAHA");                                                                                                       }});             

如何在 Ruby on Rails 上的 JS 中从简单表单中获取数据?

4

1 回答 1

0

ajax 帖子中的数据属性是您的参数所在。

假设您在这样的数据项目值中有一个项目ID

<input class="form-input" id="" data-project="<%=@project.id.to_s %>">

然后你可以这样做

$(".form-input").focusout(function(){

    var project     = $(this).attr("data-project")
    var params      = {project_id: project}

    $.ajax({
        url: "/some_url/",  
        type: "POST",
            data: params,
            chache:false,
            dateType: "JSON"
         });    
});

如果您有提交的表格,我会这样做。将此添加到 application.js 文件的顶部

jQuery.ajaxSetup({ 
  'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
})

添加此功能

jQuery.fn.submitWithAjax = function() {
  this.submit(function() { 
    $.post(this.action, $(this).serialize(), null, "script");
    return false;
  })
  return this;
};

当 dom 准备好时,调用该函数。

$(document).ready(function() {
  $('#projectsssss_opt').submitWithAjax()
})
于 2013-01-18T10:22:52.947 回答