2012-03-11 12 views
0

Rails3でAjaxフォームの入力フィールドに入力するとすぐにデータを送信したいと思います.2回目以降は動作しません。rails3 ajaxフォームでjQuery submitメソッドを2回使用する方法

documents.js.coffee

jQuery -> 
    $("#document_form form input").change -> 
    $("#btnbtn").submit 

create.js.erb/update.js.erb

$("#document_form").replaceWith(
    "<%= escape_javascript(render(:partial => "form"))%>"); 

_form.html.haml

.container#document_form 
    = form_for @document, :remote => true, :html => {class: "form-horizontal"} do |f| 
    = f.collection_select(:document_status_id, DocumentStatus.all, :id, :name, {}, {class: "span2"}) 
    = f.text_field :document_unique_id, :disabled => :disabled, class: "span2" 
    = f.fields_for :items do |builder| 
     = render "item_fields", :f => builder 
    = link_to_add_fields "Add", f, :items 
    = f.submit 'Save', class: "btn btn-primary", id: "btnbtn" 

documents_controller.rb

def update 
    @document = Document.find(params[:id]) 
    respond_to do |format| 
     if @document.update_attributes(params[:document]) 
     format.html { render action: :edit } 
     format.json { head :no_content } 
     format.js 
     else 
     format.html { render action: :edit } 
     format.json { render json: @document.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

答えて

0

その場合は、おそらくあなたが変更イベントがDOM

+0

おかげに動的に追加入力要素のために耳を傾けされますこのよう

$("#document_form form").delegate("input","change",function(){ $("#btnbtn").submit(); }); 

のようなイベントの委任を使用して、動的に入力フィールドを挿入されています。しかし、唯一の提出イベント。 – imagori

関連する問題