У меня есть очень сложная веб-форма на веб-сайте Drupal 7, который я унаследовал. Я добавил компонент разметки, который создает кнопку, и добавил JS, который связывает эту кнопку, чтобы вызвать открытие модального окна. В модальном окне отображается блок, содержащий представление, в котором перечислены некоторые профили пользователей.
Когда я посещаю веб-форму, все работает нормально, и я могу нажать кнопку, чтобы открыть модальное окно, но при повторном посещении черновика отправки кнопка запускает отправку веб-формы. Я искал ответы и пробовал много разных вещей, но, похоже, ничто не может остановить кнопку, отправляющую форму. Если я изменю разметку, чтобы использовать другой тег, например тег span, он не будет отправлен. Разметка внутри двух форм (начальная отправка и черновик редактирования) одинакова, но поведение отличается!
Итак, вопрос в том, знает ли кто-нибудь способ предотвратить отправку кнопок в компонентах разметки формы, в которой они находятся?
Форма абсолютно массивная, поэтому я не думаю, что полезно размещать разметку всего этого здесь, но кнопка выглядит так:
<button id="ref-1-modal-trigger" class="ref-modal-trigger button--gold" data-ref-number="1">Button Name</button>
И JS выглядит так:
// Получаем кнопку, открывающую модальное окно
var btnRef1 = document.getElementById("ref-1-modal-trigger");
// Когда пользователь нажимает на кнопку, открывается модальное окно
btnRef1.onclick = функция () {
refNumber = btnRef1.getAttribute («номер ссылки на данные»);
modalRef1.style.display = "блок";
modalRef1.setAttribute('data-ref-number', refNumber);
}
Основы проекта:
- Друпал 7
- Модуль веб-формы
Заранее спасибо!