Ich habe ein Formular mit einer AJAX-Schaltfläche. Wenn ich darauf klicke, aktualisiert es wie erwartet einige Dinge, was in Ordnung ist.
Ich habe mich gefragt, ob es eine Möglichkeit gibt, einen Listener im Verhalten zu erstellen, der aufgerufen wird, wenn der AJAX-Aufruf abgeschlossen ist.
Vielen Dank
ajax
javascript
Paul Sheldrake
quelle
quelle
Drupal.behaviors.YourBehaviour = { attach: function() { $('#yourform').ajaxComplete...
Bei jQuery 1.8+ -Versionen müssen Sie jetzt die Funktion .ajaxComplete an das Dokument anhängen, nicht an das Formular oder die Ansicht selbst (siehe http://api.jquery.com/ajaxcomplete/ ).
Das Folgende funktionierte für mich auf D7 mit Jquery 1.10 und Ansichten 7.x-3.8, wobei "your_view_id" der Computername der Ansicht ist, der im Einstellungsfenster "Other" der Ansicht festgelegt wurde. In event, xhr und settings gibt es eine Menge weiterer Informationen, mit denen Sie feststellen können, ob das Ajax-Ergebnis für die von Ihnen gewünschte Ansicht geeignet ist. Dies hat jedoch in meiner Situation funktioniert:
quelle
Keine der angegebenen Lösungen funktionierte für mich mit Drupal 7.24, jQuery 1.11 und Views 7.x-3.8 .
Was user1193694 vorschlug, war nicht schlecht, aber das Einstellungsobjekt, das ich erhielt, hatte nicht den Parameter extraData .
Beim Parsen des Einstellungsobjekts habe ich festgestellt, dass die Eigenschaft settings.data ' view_name = ' und den Computernamen Ihrer Ansicht enthält. Deshalb filtere ich nach folgenden Kriterien:
Ersetzen Sie ' your_views_name ' durch den Computernamen Ihrer Ansicht.
quelle