nortmas
12/16/2014 - 7:53 AM

Before submit

// Eсли нам необходимо выполнить какой-либо код непосредственно перед отправкой аякс запроса, сделать это можно следующим образом:

Drupal.behaviors.module_name = {
  attach: function (context, settings) {
    Drupal.ajax['submit_button_id'].options.beforeSubmit = function(form_values, element, options) {
	  // your code
    }  
  }
};

// submit_button_id можно посмотреть например здесь - console.log(settings.ajax);
// Кроме метода beforeSubmit, еще доступны complete, success, beforeSerialize

/******** Вызывает отправку ajax запроса ********/

var sett = settings.ajax['edit-submit']; // беркм сеттинги кнопки
// или
var sett = {url : 'myAjaxUrl'};

var ajax = new Drupal.ajax(false, false, sett);
ajax.eventResponse(ajax, {});
jQuery(document).ready(function () {
	//Get ajax views instance name
	var views = Drupal.settings.views.ajaxViews;
	var view = view_dom_id = view_name = undefined;
	for (var viewsName in views) {
    	  if (views.hasOwnProperty(viewsName)) {
	    	view = views[viewsName];
	    	if (view['view_display_id'] == "block_1" && view['view_name'] == "partners") {
              //I used view "partners" and "block_1" display. Change it to yours
		    	view_name = viewsName;
		    	view_dom_id = view["view_dom_id"];
	    	}
    	  }
	}
	// Set beforeSubmit option
	Drupal.views.instances[view_name].exposedFormAjax.options.beforeSubmit = function (form_values, element, options) {
            //Check here. If return false AJAX request will not make
       };
});