Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2022, 19:22
Интересующийся
Отправить личное сообщение для diohoho Посмотреть профиль Найти все сообщения от diohoho
 
Регистрация: 02.11.2020
Сообщений: 13

Блокировка кнопки после отправки формы
Всем добрый вечер!!! имеется такой код

Код:
<form method="post" id="chk">
<button type="submit" class="btn btn-success block" id="block" data-id="{{ id }}" name="refresh">Обновить</button>
</form>
И на форуме нашел вот такой вот код

$(function() {
    $.fn.Timer = function Timer(obj) {
        var def = {
            from: 5E3,
            duration: 5E3,
            to: 0,
            callback: null,
            step: function(now, fx) {
                $(fx.elem).html(now | 0)
            }
        };
        var opt = $.extend({}, def, obj);
        return this.each(function(indx, el) {
            $(el).queue(function() {
                el.n = opt.from;
                $(el).dequeue()
            });
            $(el).animate({
                n: opt.to
            }, {
                easing: "linear",
                duration: opt.duration,
                step: opt.step,
                complete: opt.callback
            })
        })
    };
    var end = +localStorage.getItem("end")||0, duration = 180 * 1E3;
    $("#block").on("click", function (event) {
    var time = (new Date).getTime(),
    d = duration;
    if (end && end > time) {
          event.stopPropagation();
          d = end - time;
        }
    else {
       localStorage.setItem("end", time + duration);
    }
    var f = d/1000|0;
        var text = this.defaultValue;
        $(this).prop({
            disabled: true
        }).Timer({
            step: function(now, fx) {
                var a = Math.trunc(now);
                var b = ['секунда','секунды','секунд'];
                a = `${a} ${b[1 == a % 10 && 11 != a % 100 ? 0 : 2 <= a % 10 && 4 >= a % 10 && (10 > a % 100 || 20 <= a % 100) ? 1 : 2]}`;
                fx.elem.value = `текст ${a} текст`;
            },
            from: f,
            duration: d,
            to: 0,
            callback: function() {
                localStorage.setItem("end", "0");
                $(this).prop({
                    disabled: false
                }).val(text)
            }
        })
    })
    if (end && end > (new Date).getTime()) $("#block").click();

});


и тут к сожалению две проблемы,при нажатии кнопка блокируется но не отправляется сама форма , и второе то что блочится вся кнопка и везде а не берет ее по data-id. Хелпп
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2022, 10:20
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

Проблема не совсем понятна.
Просто заблокировать кнопку
document.getElementById('block').disabled = true;

Вопрос заблокировать совсем или до какого то определенного момент времени?
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2022, 12:19
Интересующийся
Отправить личное сообщение для diohoho Посмотреть профиль Найти все сообщения от diohoho
 
Регистрация: 02.11.2020
Сообщений: 13

да кнопка то блокируется на время но не отправляется форма сама , а так по идеи после отправки формы кнопка должна блокироваться на 10м
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не происходит отправка формы после динамического добавления полей adelbaew Серверные языки и технологии 1 14.09.2016 15:36
Удалить определенные фреймы после отправки формы kimxan Общие вопросы Javascript 9 11.01.2016 21:22
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
У элемента img внутри form пропадает событие после onsubmit формы Eugene Events/DOM/Window 2 18.06.2009 19:21
Передача фокуса из формы после ввода символа kuh Общие вопросы Javascript 2 08.03.2009 19:50