Как вложить кнопку для открытия диалога выбора файлов в форму Dropzone.js?

У меня есть форма загрузки файлов. Нужно чтобы при нажатии на кнопку с плюсом, а также на область формы появлялось окно выбора файлов. На форме и на кнопку весит класс "open-prompt", который позволяет открыть диалог выбора файлов.

Пустая форма:
5f8df7843c1f5987373224.png

Форма с файлом:
5f8df792769b1117158330.png

Проблема заключается в том, что при клике на кнопку/форму вызываются сразу два диалоговых окна

HTML:
<div
				id="file-upload"
				action="/upload"
				class="open-prompt dropzone feedback-modal__upload"
			>
				<div class="dz-message" data-dz-message>
					<div class="upload__text">
						<p class="upload__text-top">Выберите фотографии</p>
						<p class="upload__text-bottom">
							или перетащите их в пунктирную область PNG, JPEG до 10 МБ
						</p>
					</div>
				</div>
				<button class="upload__button_type_add-more">
					<svg
						width="34"
						height="34"
						viewBox="0 0 34 34"
						fill="none"
						xmlns="http://www.w3.org/2000/svg"
					>
						<path
							d="M17 7.08334V26.9167"
							stroke="black"
							stroke-width="1.2"
							stroke-linejoin="round"
						/>
						<path
							d="M7.0835 17H26.9168"
							stroke="black"
							stroke-width="1.2"
							stroke-linejoin="round"
						/>
					</svg>
				</button>
			</div>


JavaScript:
Dropzone.options.fileUpload = {
  paramName: 'image',
  maxFilesize: 10,
  maxFiles: 10,
  clickable: '.open-prompt',
  accept: function (file, done) {
    if (file.type !== 'image/png' && file.type !== 'image/jpeg') {
      done('Разрешенные форматы файлов: PNG, JPEG')
    } else {
      done();
    }
  },
  • Вопрос задан
  • 26 просмотров
Решения вопроса 1
JackUait
@JackUait Автор вопроса
В моем случае проблему удалось решить добавлением pointer-events: none к стилям моей кнопки.

Пояснение:
С pointer-events: none клик по кнопке игнорируется и переходит на форму, которая вызывает диалоговое окно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽
29 нояб. 2020, в 01:16
500 руб./за проект
29 нояб. 2020, в 00:50
800 руб./за проект