Как получить идентификатор сработавшей кнопки в форме Drupal 8 - PullRequest
0 голосов
/ 29 июня 2018

Привет, я хотел бы узнать, как получить индекс индекса кнопки, нажатой в форме Drupal 8. У меня есть форма с некоторыми полями. Он имеет кнопки Добавить, Удалить, Добавить Больше.

Я хочу удалить значение определенного поля, когда нажимаю кнопку «Удалить». Для этого мне нужно знать индекс нажатой кнопки. Я смог добиться этого в Drupal 6 и Drupal 7, но не смог добиться этого в Drupal 8.

Drupal 6:

function field_add($form, &$form_state) {

  $element_key = $form_state['clicked_button']['#parents'][1];
}

Drupal 7:

function field_add($form, &$form_state) {

  $element_key = $form_state['triggering_element']['#parents'][1];
}

Как получить то же самое в Drupal 8?

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

В Drupal 8 это сработало в моем случае

$clickedElement = $form_state->getTriggeringElement()['#array_parents'][1];
0 голосов
/ 02 июля 2018

Я смог понять это. Вот способ достичь этого в Drupal 8.

public function field_add(array &$form, FormStateInterface $form_state) {
    $element_key = $form_state->getTriggeringElement()['#parents'][1];
}
...