簡體   English   中英

Ruby on Rails表單提交給js

[英]Ruby on rails form submit to js

我在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中的簡單表單中獲取數據?

Ajax帖子中的data屬性是您進行參數設置的地方。

假設您在像這樣的數據項目值中有一個項目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()
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM