首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby on rails表单提交到js

Ruby on rails表单提交到js
EN

Stack Overflow用户
提问于 2013-01-18 17:44:25
回答 1查看 309关注 0票数 0

我在Ruby on Rails上有以下代码:

代码语言:javascript
运行
复制
 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:

代码语言:javascript
运行
复制
$.ajax({                                                                     
  type: "POST",                                                            
  url: api_url,                                                            
  data: [ what to put here ???],                                                               
  success: function ( status ) {                            
 alert("HAHA");                                                                                                       }});             

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

EN

回答 1

Stack Overflow用户

发布于 2013-01-18 18:22:53

ajax post中的data属性是参数的去处。

假设您在data-project值中有一个项目id,如下所示

代码语言:javascript
运行
复制
<input class="form-input" id="" data-project="<%=@project.id.to_s %>">

然后你可以这样做

代码语言:javascript
运行
复制
$(".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文件的顶部

代码语言:javascript
运行
复制
jQuery.ajaxSetup({ 
  'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
})

添加此函数

代码语言:javascript
运行
复制
jQuery.fn.submitWithAjax = function() {
  this.submit(function() { 
    $.post(this.action, $(this).serialize(), null, "script");
    return false;
  })
  return this;
};

当dom准备就绪时,调用函数。

代码语言:javascript
运行
复制
$(document).ready(function() {
  $('#projectsssss_opt').submitWithAjax()
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14396121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档