Вызов собственной JavaScript функции в форме Drupal 8

Если вам необходимо вызвать собственную JavaScript функцию по результатам обработки AJAX запроса, необходимо сделать следующее:

В класс вашей формы, в нужное поле прописываем вызов callback функции.

public function buildForm(array $form, FormStateInterface $form_state,$unid = NULL) {  ...
  $form['my_ajax_field'] = [
    '#ajax' => [
      'callback' => array($this, 'yourAjaxCallback'),
      'event' => 'change',
      'progress' => array(
        'type' => 'throbber',
        'message' => t('Processing...'),
      ),
    ],
  ];
  ...
}

В функцию callback добавляем строку с вызовом BaseCommand, где первым аргументом будет название JavaScript функции, которую необходимо выполнить в ответ на AJAX вызов формы.

public function yourAjaxCallback(array &$form, FormStateInterface $form_state) {
  $response = new AjaxResponse();
  ...
  $response->addCommand(new BaseCommand('yourFunction',array()));
  return $response;
}

 В яваскрипте страницы прописываем следующий код:

$(document).ready(
  function(){
    Drupal.AjaxCommands.prototype.yourFunction = function(ajax, response, status) {
    ...
    }
  }
}

Теперь мы можем не только манипулировать html кодом страницы посредствам InvokeCommand, но и вызывать собственные функции. Если же необходимо вызвать функцию с параметрами... с этим еще необходимо разобраться. Очевидно, параметры, которые мы передаем во второй параметр класса BaseCommand должны содержаться в параметре response функции yourFunction.

Источники: 
https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Ajax%21BaseCommand.php/class/BaseCommand/8.2.x