0

Ich googelte viel und war nicht in der Lage, meinen Fehler zu finden. Als ich gerade mit JS angefangen habe, könnte dies ein einfacher sein. Verwendung: Schienen 4Schienen: Wie Ajax Erfolg zu fangen

Ich habe ein Modal mit einer Form, die ich gerne nach dem erfolgreichen (oder nicht) Ajax-Aufruf tun würde. Vorerst nur das Modal schließen.

modal (dies funktioniert tatsächlich funktioniert, so kann ich Sachen bearbeiten):

.modal.fade{ id: attribute.id, role: 'dialog', tabindex:'-1' } 
    .modal-dialog{ role: 'document'} 
    .modal-content 
     .modal-header 
     %button{ type: 'button', class: 'close', 'data-dismiss' => "modal" } 
      %span × 
     %h4.modal-title= attribute.name 

    = form_for attribute, remote: true, html: { class: 'form-inline', id: 'edit_form' } do |f| 
    .modal-body 
     .form-group 
     = f.label :name, 'Name', class: 'form-label', style: 'width: 150px' 
     = f.text_field :name, class: 'form-control', style: 'width:200px;margin-right: 35px' 
    .modal-footer 
     %button{ type: "button", class: "btn btn-default pull-left", 'data-dismiss' => "modal" } 
     Close 
     = f.submit 'Create', class: 'btn btn-primary pull-right' 

meine JS-Datei (nicht lachen):

$(document).ready(function($) { 
     console.log('ready'); # this I *can* see in the console 

    $('#edit_form').bind("ajax:success", function() { 
     console.log('great success') # this I *can't* see in the console. 
    }); 
}); 

Controller (zusätzlicher Spaß Tatsache: Der Modal ausgelöst wird in einer Ansicht für einen anderen Controller, nicht der eine der modalen, die ich tatsächlich versuche zu ändern):

So am ende möchte ich die "error" und "success" callbacks auffassen und mache damit (das versuche ich mir selbst zu überlegen). Was mache ich hier falsch?

Vielen Dank für Ihre Hilfe - es wird sehr geschätzt!

Antwort

0

Nach dem answer of a similar question Sie vielleicht versuchen:

$('#edit_form').on("ajax:success", ... 
//    ^-- instead of .bind 

Ich nehme an, Sie auch eine aktuelle jQuery-Version haben, so geben diese Änderung einen Schuss.

+0

Versucht es. Arbeitet nicht :( – tomr