Рейтинг:0

Как узнать, добавлен ли ajax в простую форму узла?

флаг km

Эта очень простая настройка #ajax для формы узла не работает. Как узнать, был ли добавлен обратный вызов? Я хочу рассчитать поле, если первое поле изменено.

функция cbi_currency_form_node_bond_edit_form_alter(&$form, FormStateInterface 
   $form_state, $form_id) {

    $form['field_bond_amt_issued']['#ajax'] = [
    'обратный вызов' => 'cbi_currency_convert_usd',
    'событие' => 'изменить',
    'wrapper' => 'edit-field-bond-usd-amt-issued-wrapper',
    'прогресс' => [
      'тип' => 'пульсирующий',
       'message' => t('Конвертация в доллары США...'),
     ],
  ];
 $form['field_bond_amt_issued']['#prefix'] = t('проверяем наличие элемента ajax.');
}

Возьмите значение из field_bond_amt_issued и рассчитать значение для field_bond_usd_amt_issued.

Обратный вызов просто

function cbi_currency_convert_usd (массив и $ форма, FormStateInterface $ form_state) {
  $form['output']['#value'] = 33;
  возврат $ форма ['выход'];
}

Я не вижу запросов xhr при просмотре в сетевой консоли в браузере.

Kevin avatar
флаг in
Использование xdebug для пошагового выполнения кода было бы самым простым способом увидеть вызванный обратный вызов. Но этот префикс выглядит странно? С чем связана "$form['output']"?
Interlated avatar
флаг km
В прошлом я попадал и промахивался с x-debug при обратном вызове. Я не вижу, чтобы он попал в сетевое представление, поэтому я предполагаю, что он даже не запускается. Xdebug определенно не подбирает его.
Kevin avatar
флаг in
Значит, это элемент формы виджета, а не стандартная форма? Xdebug покажет вам структуру элементов формы.
Interlated avatar
флаг km
Стандартная форма редактирования контента. Я вижу структуру формы.
Kevin avatar
флаг in
Да, но #ajax добавляется в правильную часть структуры? См.: https://drupal.stackexchange.com/questions/277008/how-to-implement-ajax-callback-on-form-alter-for-entity-field
Interlated avatar
флаг km
Ах, спасибо $form['field_bond_amt_issued']['widget'][0]['value']['#ajax'] = [

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.