SORU
17 Temmuz 2011, Pazar


Ajax bir şekilde raylar form 3 (jQuery ile)gönder

Raylar ve jQuery yeni başladım. Bir sayfada iki ayrı form var ve bunları ajax (jQuery ile) ayrı ayrı göndermek istiyorum. Bunun nasıl olduğunu. Herkes ya bu kod çalışması için ekleme düzeltme yapabilirsiniz. Raylar 3.1 ve jQuery 1.6 kullanıyorum. Şimdiden teşekkür ederim.

application.js

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

ilk formu:

<%=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%>

ikinci şekli:

<%=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%>

SchoolController

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 aynı durumda

CEVAP
17 Temmuz 2011, Pazar


.

  1. Gönder normal davranışları bırak.
  2. Sunucuya ajax ile gönderin.
  3. Bir yanıt geri almak ve işleri buna göre değişir.

Aşağıdaki kod, bunu yapmak gerekir:

$('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
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CareyHolzman

    CareyHolzman

    24 Ocak 2008
  • Easy Learn Tutorial

    Easy Learn T

    10 Kasım 2012
  • multimediaGEEKS LLC

    multimediaGE

    3 Mayıs 2010