我在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中的简单表单中获取数据?
答案 0 :(得分: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()
})