Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Блокирование кнопки на 10 секунд после нажатия (https://javascript.ru/forum/css-html/65042-blokirovanie-knopki-na-10-sekund-posle-nazhatiya.html)

sergofedor06 22.09.2016 16:20

Manyasha

большое вам спасибо! терь как нужно, подошел второй вариант!
пропускает публикацию сообщения только раз хоть и много раз кликаю по кнопке.


Вопрос к вам Manyasha что делает эта функция, вернее 2 функции что вы добавили во втором примере

1.
beforeSend: function(xhrObj, settings) {
$('.add_comment').prop('disabled', true);
},


2.
complete: function(xhrObj, textStatus) {
$('.add_comment').prop('disabled', false);
}



Спасибо еще раз!

sergofedor06 22.09.2016 16:32

на самом деле поэкспериментировал, все ровно при многократном нажатии идут дубли комментарием, просто их проскакывает меньше чем изначально, но не так что бы нажал кучу раз, а комментарий был один!

sergofedor06 22.09.2016 16:35

жаль что решения этой проблемы

sergofedor06 22.09.2016 16:47

ага вы похоже опечатались
у вас в примере было так

1.
beforeSend: function(xhrObj, settings) {
$('.add_comment').prop('disabled', true);
},


2.
complete: function(xhrObj, textStatus) {
$('.add_comment').prop('disabled', false);
}




а нужно так


1.
beforeSend: function(xhrObj, textStatus) {
$('.add_comment').prop('disabled', true);
},


2.
complete: function(xhrObj, textStatus) {
$('.add_comment').prop('disabled', false);
}





textStatus в обоих функциях тогда вроде работает верно!

sergofedor06 22.09.2016 16:58

проверил в разных браузерах, в сафари идут повторные пропуски, и иногда в гугл хроме тоже, но далеко не каждый раз, раньше постоянно было

sergofedor06 22.09.2016 20:18

Скажите какое действие выполняет объект xhrObj в данной функции?
beforeSend: function(xhrObj, textStatus)

как бы все работает так же и без него, т.е.

beforeSend: function(textStatus)


зачем нужен этот объект xhrObj

sergofedor06 23.09.2016 10:56

Ну как кто-то по вопросу сможет ответить?
спасибо!

Manyasha 23.09.2016 15:47

sergofedor06,
можно и не подавать эти аргументы, просто я оставила, как в справке:
http://api.jquery.com/jQuery.ajax/

Цитата:

все ровно при многократном нажатии идут дубли комментарием
попробуйте небольшую паузу добавить:
complete: function() {
				setTimeout(function(){
					$('.add_comment').prop('disabled', false);
				}, 1000);
			}

sergofedor06 24.09.2016 00:40

Manyasha

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


Часовой пояс GMT +3, время: 09:32.