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 投稿の data 属性は、params が移動する場所です。

このようなデータプロジェクト値にプロジェクト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 に答える