Я пытаюсь программно (с помощью jQuery) вызвать нажатие кнопки с поведением AJAX в форме Drupal, но пока jQuery('#edit-submit').click()
ничего не делает.
Реальной мыши на этой кнопке работает , как предполагалось. Есть идеи, как заставить это работать?
7
ajax
javascript
Даниил
источник
источник
Ответы:
jQuery('#edit-submit').mousedown()
- видимо, есть большая разница.источник
mousedown()
- это просто «первая часть»click()
события, которое завершается, когдаmouseup()
происходит. Когда вы нажимаете на ссылку, а затем отпускаете мышь за пределами области ссылки,click()
она обычно не срабатывает, и ссылка не переходит. Возможно, вызов ajax предотвращаетmouseup()
На самом деле, не нужно догадываться.
Вы должны использовать Drupal поведения
Это даст вам доступ к свойству ajax настроек,
В зависимости от вашей конфигурации вы должны увидеть список запускающих элементов с различными свойствами, такими как имя функции обратного вызова, идентификатор селектора, а также имя инициирующего события.
Затем вы можете использовать соответствующую информацию для запуска вашего мероприятия.
источник
Создайте AJAX отправить, как показано ниже.
Тогда событие jquery .click () будет работать в форме drupal ajax.
источник
Вы также можете использовать
.trigger()
метод jQuery.$('#element').trigger('click');
источник
В моем случае вышеупомянутые рекомендуемые решения не работали для меня, но упоминание .mousedown () привело к следующей идее, которая работала для меня (Drupal 7):
Есть некоторая полезная справочная информация о том, «почему», это случай в справочнике по API формы под #ajax_prevent
источник
Взглянув на модуль Better Exposed Filters, они отправляют форму AJAX, находя $ (. Ctools-auto-submit-click ') и инициируя щелчок.
источник
Вы должны вызвать
submit
событие в форме.Click
иmousedown
события на кнопках не работают.источник