Можно ли автоматически установить раскрывающееся значение на основе параметра URL-адреса в форме FormCraft в WordPress?Jquery

Программирование на jquery
Ответить
Anonymous
 Можно ли автоматически установить раскрывающееся значение на основе параметра URL-адреса в форме FormCraft в WordPress?

Сообщение Anonymous »

Я работаю с формой FormCraft на сайте WordPress и пытаюсь автоматически установить значение раскрывающегося списка Select2 на основе параметра URL. Я изо всех сил пытался заставить его работать, несмотря на многочисленные попытки использования различных подходов JavaScript. Вот подробности и то, что я пробовал:
Цель: я хочу автоматически выбирать опцию «Ouvidoria» в раскрывающемся списке формы FormCraft, когда к форме обращаются через URL-адрес с помощью определенный параметр (например, ?assunto=Ouvidoria).
Среда:

[*]сайт WordPress с плагин FormCraft.
[*]Раскрывающийся список улучшен плагином Select2.
[*]Форма включается в страницу с помощью короткого кода, например [fc id= '1'][/fc].
[*]В раскрывающемся поле есть поле идентификатора13 внутри формы.

Попытки:
Первоначальная попытка JavaScript:
Пыталась с использованием простого документа. Ready в сочетании с setTimeout, чтобы гарантировать полную загрузку Select2. Я попытался выбрать раскрывающийся список, используя его конкретный класс .fc-form .form-element-field13 select и применить значение из параметра URL.
Проблема: сценарий либо запускается слишком рано, прежде чем форма будет полностью инициализирована, или не выбирает правильное поле из-за динамической отрисовки FormCraft и Select2.
Использование интервала для проверки существования элемента:
Перед применением значения установите интервал для проверки каждые 100 мс, доступен ли раскрывающийся список в DOM.
Проблема: этот подход не помог. не работает постоянно, возможно, из-за неправильного выбора элемента DOM или конфликтов с тем, как FormCraft динамически загружает контент.
Метод триггера Select2:

Использовал selectField.val(assunto).trigger('change.select2') для программного задания значения раскрывающегося списка.
Проблема: в раскрывающийся список; похоже, что Select2 не распознает изменение или сценарий не нацелен на правильный элемент.

Код: Выделить всё

$(document).ready(function() {
var urlParams = new URLSearchParams(window.location.search);
var assunto = urlParams.get('assunto');
setTimeout(function() {
var selectField = $(".fc-form .form-element-field13 select");
if (selectField.length) {
selectField.val(assunto).trigger('change.select2');
console.log('Dropdown set to:', assunto);
}
}, 1000);
});

Вопросы:
Как убедиться, что сценарий правильно нацеливается и изменяет раскрывающийся список Select2 после его полной инициализации в форме FormCraft?
Есть ли более надежный способ дождаться готовности динамических элементов FormCraft и Select2 перед выполнением JavaScript?
Любые идеи или альтернативные подходы для решения этой проблемы буду очень признателен!

Подробнее здесь: https://stackoverflow.com/questions/790 ... -in-formcr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»