Доброго дня!
Не спешите, дочитайте до конца.
Форма, выводится в блоке, у формы есть интерактивные методы.
Задача - интерактивно менять содержимое формы на стороне клиента путём вызова метода из другой формы.
Сейчас я реализовал несколько в обход. Добавил невидимую кнопку с вызовом ajax метода. Нахожу её и вызываю метод click(). Но понимаю, что можно это делать без кнопки и более правильно.
$form['opn_1'] = [
'#type' => 'submit',
'#submit' => ['::goChange'],
'#id' => 'opn_1',
'#value' => '5',
'#ajax' => [
'callback' => '::ajaxCallback',
'wrapper' => 'names-fieldset-wrapper',
'method' => 'replace',
'event' => 'click',
'progress' => array('type' => 'none')
],
'#attributes' => [
'style' => ['display:none']
]
];
public function goChange(array &$form, FormStateInterface $form_state)
{
$form_state->set('mode', 5);
$form_state->setRebuild();
}
А теперь собственно вопрос, есть ли способ на стороне клиента дёрнуть функцию формы и получить событие, что форма была изменена?