Рейтинг:0

Адрес веб-формы убивает ajax?

флаг om

Как привязать поведение Ajax к моему страна поле (у которого уже есть раскрывающееся меню).

У меня есть простая форма, определенная с помощью модуля веб-формы. введите описание изображения здесь

В реализации hook_webform_alter У меня есть следующий код, который работает...

$form['элементы']['business_e_mail']['#ajax'] = [
    'обратный вызов' => 'ajax_callback',
    'обертка' => 'оптимальная обертка',
    'отключить-перефокусировку' => ЛОЖЬ, 
    'событие' => 'изменить',
  ];

Однако, если я попытаюсь привязать поведение #ajax к полю страны, что мне действительно нужно, я не получу ответа. (например, обратный вызов ajax не вызывается)

Код, который не работает

$form['элементы']['код_страны']['#ajax'] = [
    'обратный вызов' => 'ajax_callback',
    'обертка' => 'оптимальная обертка',
    'отключить-перефокусировку' => ЛОЖЬ,
    'событие' => 'изменить',
  ];

Единственная, казалось бы, существенная разница между двумя полями заключается в том, что рабочее поле представляет собой простой адрес электронной почты.

Country_code — это адресное поле, к которому также привязано поведение (например, это раскрывающийся список.

Любая помощь приветствуется!

введите описание изображения здесь

Jaypan avatar
флаг de
Как выглядит неизмененный `$form['elements']['country_code']` в определении формы? Возможно, вам придется прикрепить `#ajax` к его дочернему элементу.
sea26.2 avatar
флаг om
@jaypan Спасибо, что втянулись в это... Форма в значительной степени является шаблоном из модуля веб-формы. ` код страны [ #тип #заглавие #вебформа_ключ #webform_plugin_id ... ` Интересная идея у вас есть... не знаю, насколько она будет эффективна, потому что мне нужно найти элемент, который меняется, верно?
sea26.2 avatar
флаг om
Мне нужно будет найти ребенка, который изменен, или, может быть, нет? `код_страны [ #заглавие #вебформа_ключ #country_code__options ]`
Jaypan avatar
флаг de
Я сам не пользуюсь веб-формой. Но элементы формы в Drupal часто имеют дочерние элементы формы, и вам нужно прикрепить #ajax к фактическому элементу формы (выбрать, ввести), так как он не будет работать при присоединении его к родителю. Это указывает мне, что вы прикрепили его к родителю, а не к ребенку.

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

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