Индикатор прогресса в Oracle APEX отображается несколько раз

Вопрос или проблема

В Oracle Apex, когда я нажимаю кнопку несколько раз, индикатор прогресса показывает несколько индикаторов прогресса. Как можно контролировать это, чтобы показывался только один? При каждом нажатии их количество умножается. Спасибо заранее!

Как упомянуто выше, я хочу видеть только один индикатор, даже если я нажимаю несколько раз…

Вы можете отключить кнопку после нажатия на нее или использовать глобальную переменную, чтобы определить, была ли кнопка уже нажата.

Ответ или решение

Для решения проблемы с несколькими индикаторами прогресса в Oracle APEX при многократном нажатии на кнопку, вы можете воспользоваться несколькими подходами. Основные из них заключаются в том, чтобы либо отключить кнопку после первого нажатия, либо использовать глобальную переменную для отслеживания состояния кнопки.

Подход 1: Отключение кнопки

Вы можете отключить кнопку сразу после нажатия, что предотвратит повторные нажатия до завершения выполнения операции. Для этого добавьте JavaScript код, который отключает кнопку при нажатии:

document.getElementById('YOUR_BUTTON_ID').disabled = true;

Важно, чтобы данный код вызывался до запуска операции, связанной с отображением индикатора прогресса.

Как только операция завершена, вы можете снова включить кнопку (если это необходимо) или оставить её отключенной, в зависимости от вашего сценария.

Подход 2: Использование глобальной переменной

Другой вариант — использовать глобальную переменную, чтобы проверить, было ли уже нажато на кнопку. Пример кода:

var buttonClicked = false;

function handleButtonClick() {
    if (!buttonClicked) {
        buttonClicked = true;
        // Включение индикатора прогресса
        apex.util.showProgressIndicator();

        // Ваш код для выполнения операции

        // После завершения операции
        buttonClicked = false;
        // Выключение индикатора прогресса (если необходимо)
        apex.util.hideProgressIndicator();
    }
}

Затем просто вызовите handleButtonClick() после нажатия на вашу кнопку.

Заключение

Оба подхода позволят контролировать отображение индикатора прогресса, предотвращая дублирование при многократном нажатии на кнопку. Выбор метода зависит от ваших предпочтений и требований. Убедитесь, что ваша логика корректно обрабатывает состояние кнопки и индикатора прогресса для лучшего пользовательского опыта.

Оцените материал
Добавить комментарий

Капча загружается...