Как использовать метод jQuery submit дважды в rails3 ajax форме - PullRequest
0 голосов
/ 11 марта 2012

Я хотел бы передать данные, как только вы введете в поля ввода формы Ajax на Rails3, Второй и последующие моменты времени не работают.

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

1 Ответ

0 голосов
/ 11 марта 2012

возможно, вы вставляете поля ввода динамически, в этом случае используйте делегирование события, например

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

, таким образом, событие изменения будет прослушиваться для динамически добавляемых элементов ввода в DOM * 1004.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...