gpt4 book ai didi

jquery - 以ajax方式在rails 3中提交表单(使用jQuery)

转载 作者:IT王子 更新时间:2023-10-29 03:25:54 25 4
gpt4 key购买 nike

我是 Rails 和 jQuery 的初学者。我在一页中有两个单独的表单,我想以 ajax 方式(使用 jQuery)分别提交它们。这就是我的进展。任何人都可以添加或修复此代码以使其工作。我正在使用 Rails 3.1 和 jQuery 1.6。先感谢您。

应用程序.js

$(".savebutton").click(function() { 
$('form').submit(function() {
$(this).serialize();
});
});

第一种形式:

<%=form_for :users do |f| %>
<fieldset>
<legend>Basic details</legend>
<%= f.label :school %>
<%= f.text_field :school,:size=>"45",:class=>"round",:id=>"school" %><br/>
</fieldset>
<p><%= button_to "save and continue",{:class=>"savebutton"} %></p>
<%end%>

第二种形式:

<%=form_for :courses do |c| %>
<fieldset>
<legend>Your current classes</legend>
<label>class:</label><%= c.text_field :subject,:size=>"45",:class=>"round" %><br/>
</fieldset>
<p><%= button_to "save and continue",{:class=>"savebutton"} %></p>
<%end%>

学校 Controller

class SchoolController < ApplicationController
respond_to :json
def create
@school = current_user.posts.build(params[:school].merge(:user => current_user))
if @school.save
respond_with @school
else
respond_with @school.errors, :status => :unprocessable_entity
end
end
end

CourseController 与 SchoolController 形状相同

最佳答案

你想要:

  1. 停止提交的正常行为。
  2. 通过ajax 将其发送到服务器。
  3. 获得回复并相应地进行更改。

下面的代码应该做到这一点:

$('form').submit(function() {  
var valuesToSubmit = $(this).serialize();
$.ajax({
type: "POST",
url: $(this).attr('action'), //sumbits it to the given url of the form
data: valuesToSubmit,
dataType: "JSON" // you want a difference between normal and ajax-calls, and json is standard
}).success(function(json){
console.log("success", json);
});
return false; // prevents normal behaviour
});

关于jquery - 以ajax方式在rails 3中提交表单(使用jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6723334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com