Инициализация Doble на django-bootstrap-modal-forms
В настоящее время я использую эту библиотеку на django https://github.com/trco/django-bootstrap-modal-forms
Я получил это на моем js скрипте:
function initializeBSModal(modalId) {
const Modal = $(modalId);
Modal.modalForm({
modalID: '#bs-modal',
modalContent: '#bs-modal-content',
modalForm: '#bs-modal-content form',
formURL: Modal.data('form-url'),
});
}
При каждом использовании он инициализируется правильно, но если в каком-либо случае он вызывается дважды (например, событие рисования на таблице), он инициализируется второй раз, выполняя два или более раз запрос GET к представлению (только GET, а не POST)
Пример кода:
{% block content %}
<div id="bs-modal-create" class="" data-form-url="{% url 'create_item' %}">
CREATE
</div>
{% endblock %}
{% block scripts %}
<script>
initializeBSModal('#bs-modal-create');
initializeBSModal('#bs-modal-create'); -> This causes 2 initialization, 2nd GET
</script>
{% endblock %}
Как я могу инициализировать только не инициализированные модалы?
Исправьте это с помощью Modal.off('click');
function initializeBSModal(modalId) {
const Modal = $(modalId);
Modal.off('click');
Modal.modalForm({
modalID: '#bs-modal',
modalContent: '#bs-modal-content',
modalForm: '#bs-modal-content form',
formURL: Modal.data('form-url'),
});
}