I have a module that creates an AJAX Form.
I need to copy some values from the DOM to a form field when (or before) the form is submitted.
In my module JS, I tried this:
(function($, Drupal) {
Drupal.behaviors.beforeAjaxFormSubmit = {
attach: function(context, settings) {
Drupal.Ajax.prototype.beforeSubmit = function(form_values, element, options) {
console.log('Will alter form here ...')
};
}
};
})(jQuery, Drupal);
The console log is shown but right after comes an AJAX Error:
An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: /intervention/create?ajax_form=1
StatusText: OK
ResponseText: TypeError: Argument 1 passed to Drupal\Core\Render\MainContent\AjaxRenderer::renderResponse() must be of the type array, null given, called in /var/www/html/web/core/lib/Drupal/Core/Form/FormAjaxResponseBuilder.php on line 89 in Drupal\Core\Render\MainContent\AjaxRenderer->renderResponse() (line 49 of /var/www/html/web/core/lib/Drupal/Core/Render/MainContent/AjaxRenderer.php).
[[Prototype]]: Error at http://d9.localhost:8000/core/misc/ajax.js?v=9.4.2:110:32
Does anyone know what I am doing wrong or if this is not the right approach?