У меня есть кнопка в моей форме, которая предназначена для проверки того, правильно ли введена информация о авторизации. Это происходит, выпустив вызов Ajax к контроллеру в моем приложении Ruby on Rails и проверив результат. Проблема в том, что даже когда я нажимаю кнопку только один раз, она сразу же регистрирует несколько щелчков - иногда до 5! - И стреляет, что Ajax звонит несколько раз, что попадает в API, который я также проверяю несколько раз. Вот что у меня есть в моем файле html.erb: < /p>
$( document ).on('turbolinks:load', function() {
var $form = $("form");
var $buttons = $('#soap-access, #rest-access, #email-access, #audview-access', $form);
var $jobSchedule = $('#client_job_schedule', $form);
$buttons.click(function (e) {
var $button = $(this);
$button.prop('disabled', true);
var $parent = $button.parent();
var $spinner = $('.fa-sign-in', $parent);
var $signIn = $('.fa-spinner', $parent);
var $success = $('.fa-check', $parent);
var $error = $('.fa-times', $parent);
var data = {};
var $endpoint = '';
// add stuff to data
$signIn.toggleClass('d-none');
$spinner.toggleClass('d-none');
$success.addClass('d-none');
$error.addClass('d-none');
$.ajax({
type: "GET",
url: "",
data: data
})
.done(function () {
$success.removeClass('d-none');
})
.fail(function (jqXHR) {
$error.removeClass('d-none');
if (jqXHR.responseJSON && jqXHR.responseJSON.message) {
alert(jqXHR.responseJSON.message);
} else {
alert('Error trying to authenticate');
}
})
.always(function () {
$button.prop('disabled', false);
$spinner.toggleClass('d-none');
$signIn.toggleClass('d-none');
});
});
});
< /code>
Вы можете видеть, что я добавляю «отключенную» опору, и удаляю ее в конце. Кнопка действительно визуально отключена, но дополнительные клики уже зарегистрированы, и все вызовы AJAX все еще происходят, один за другим.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... -instantly
JQuery кнопка регистрирует несколько щелчков мгновенно ⇐ Jquery
Программирование на jquery
-
Anonymous
1746222938
Anonymous
У меня есть кнопка в моей форме, которая предназначена для проверки того, правильно ли введена информация о авторизации. Это происходит, выпустив вызов Ajax к контроллеру в моем приложении Ruby on Rails и проверив результат. Проблема в том, что даже когда я нажимаю кнопку только один раз, она сразу же регистрирует несколько щелчков - иногда до 5! - И стреляет, что Ajax звонит несколько раз, что попадает в API, который я также проверяю несколько раз. Вот что у меня есть в моем файле html.erb: < /p>
$( document ).on('turbolinks:load', function() {
var $form = $("form");
var $buttons = $('#soap-access, #rest-access, #email-access, #audview-access', $form);
var $jobSchedule = $('#client_job_schedule', $form);
$buttons.click(function (e) {
var $button = $(this);
$button.prop('disabled', true);
var $parent = $button.parent();
var $spinner = $('.fa-sign-in', $parent);
var $signIn = $('.fa-spinner', $parent);
var $success = $('.fa-check', $parent);
var $error = $('.fa-times', $parent);
var data = {};
var $endpoint = '';
// add stuff to data
$signIn.toggleClass('d-none');
$spinner.toggleClass('d-none');
$success.addClass('d-none');
$error.addClass('d-none');
$.ajax({
type: "GET",
url: "",
data: data
})
.done(function () {
$success.removeClass('d-none');
})
.fail(function (jqXHR) {
$error.removeClass('d-none');
if (jqXHR.responseJSON && jqXHR.responseJSON.message) {
alert(jqXHR.responseJSON.message);
} else {
alert('Error trying to authenticate');
}
})
.always(function () {
$button.prop('disabled', false);
$spinner.toggleClass('d-none');
$signIn.toggleClass('d-none');
});
});
});
< /code>
Вы можете видеть, что я добавляю «отключенную» опору, и удаляю ее в конце. Кнопка действительно визуально отключена, но дополнительные клики уже зарегистрированы, и все вызовы AJAX все еще происходят, один за другим.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79602758/jquery-button-registers-multiple-clicks-instantly[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия