Рейтинг:0

Как программно изменить тип элемента веб-формы?

флаг ng

Я использую элемент веб-формы select_other в веб-форме. У нас появилось требование, чтобы Другой Поле должно появляться только в том случае, если выполняются определенные условия. У меня уже есть обработчик веб-формы, и с помощью alterForm() я попытался изменить #тип значение, которое удалило Другой option, но дублирует свойство оболочки поля.

Есть ли способ изменить #тип элемента веб-формы программно из webform_select_other к Выбрать?

Я смог обойти это, создав фиктивный элемент для Выбрать а затем в alterForm, заменив элемент формы новым, используя этот код.

$type_of_request = $webform_submission->getElementData('type_of_request');

если ($type_of_request == "Процесс") {
  $webform = $webform_submission->getWebform();
  $dummy_element = $webform->getElement('dummy_element');
  $elements['original_element'] = $dummy_element;
  unset($elements['original_element']['#access']);
}

Это обходной путь, который я использую.

флаг id
Какие определенные условия должны быть соблюдены? Это имеет значение.

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

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