Как заставить blockUI работать каждый раз, когда нажимается кнопка

У меня есть страница, которая читает файл excel и загружает его в таблицу данных, которая отображается внутри div. Пользователь должен увидеть результаты загруженного файла, прежде чем он сможет продолжить обработку, это означает, что у меня есть два события кнопки на одной странице, у пользователя есть возможность загрузить новую копию файла из файла-загрузчик, это означает блокировку пользовательского интерфейса должен вызываться всякий раз, когда пользователь нажимает кнопку загрузки.

У меня проблема в том, что blockui работает только в первый раз, когда я снова нажимаю кнопку со свежей копией excel, появляется ошибка «blockUI не является функцией». Было предложение установить для асинхронного внутреннего вызова ajax значение true, попробовал, но все равно не в радость. Мои скрипты загружаются с использованием конфигурации пакета

У меня есть метод jquery, который читает файл и добавляет возвращенные данные в div в виде данных, ниже приведен мой код jquery

 $('#rateGroupsForm').submit(function(e) {
             e.preventDefault(); // stop the standard form submission
                $.blockUI();
                $.ajax({
                    url: '@Url.Action("ReadUploadedFile","Rates")',
                    type: 'POST',
                    data: new FormData(this),
                    cache: false,
                    async: true,
                    contentType: false,
                    processData: false,
                    success: function (data) {
                        if (data) {
                            $.unblockUI();
                            $('#rateGroupsDiv').empty();//remove all existing data before loading fresh one
                            $('#rateGroupsDiv').append(data);
                        }
                    },
                    error: function(xhr, error, status) {
                        console.log(error, status);
                        $.unblockUI();
                    }
                });
         })

person Ronny Mahlangu    schedule 06.10.2019    source источник


Ответы (1)


Проблема решена, «rateGroupsDiv» загружается через неполную страницу, на которой не было скрипта blockui, включил скрипт block ui на неполную страницу, и теперь все в порядке.

person Ronny Mahlangu    schedule 07.10.2019