Am câteva probleme pentru ca următorul cod să funcționeze corect:
(funcție($) {
„utilizați strict”;
Drupal.behaviors.mybehavior = {
atașați: funcție(context, setări) {
$(document).once('abc').on('click', '.image_class', function() {
var fid = 123
var vid = 456
Drupal.ajax({
url: '/load/a/form/' + fid
}).execute().done(funcție() {
var id =
MktoForms2.loadForm('cname', '123-123-123', fid, function(form) {
form.onSuccess(funcție(e) {
form.getFormElem().hide();
Drupal.ajax({
url: „/load/a/video/” + vid
}).execute().done(funcție() {
});
returnează fals;
});
});
})
});
}
}
})(jQuery);
Întregul proces funcționează corect, dar dublează apelurile AJAX anterioare la fiecare pas.
De exemplu, când dau clic pe selectorul inițial .clasa_imagine
apelul AJAX care încarcă un formular funcționează excelent.
Odată ce completez formularul cu succes, al doilea apel AJAX se declanșează, dar acest lucru pare să declanșeze și primul apel AJAX, punând efectiv formularul care tocmai a fost completat și eliminat înapoi pe pagină, redeschizând dialogul.
Totul se declanșează corect, pur și simplu nu îmi pot da seama cum să fac acest proces să funcționeze fără a re-declanșa toate apelurile AJAX anterioare.
Mulțumiri!