У меня есть несколько кнопок на странице, и если я нажимаю кнопку, выполняется вызов ajax.Я хочу отключить кнопку, чтобы пользователь не нажимал ее снова и не выполнялся другой вызов ajax.
Я попробовал приведенный ниже код, но кнопка не отключается.Я также хочу показать уведомление об успешном реагировании - я попробовал тост, но он тоже не работает.
Есть ли другой способ показать всплывающее окно с воздушным шаром в реакции?
Пожалуйста, предложите,
onClickRun(params) {
const url = `/api/${params}/run`;
const id = "run"+params;
return $.ajax({
type: 'POST',
url,
processData: false,
contentType: 'application/json',
beforeSend :() =>{
// $("#run"+params).classList.add("cursorDisabled");
// $("#run"+params).attr('disabled',true);
document.getElementById(id).disabled = true;
document.getElementById(id).classList.add('cursorDisabled');
},
success: (response) => {
if(!response.error) {
// toast({
// message: 'Pipeline ran successfully.',
// flavor: 'success',
// options: { timeOut: 5000 }
// });
//$("#"+params).classList.remove("cursorDisabled");
//$("#run"+params).attr('disabled',false);
document.getElementById(id).disabled = false;
document.getElementById(id).classList.remove('cursorDisabled');
location.reload(true);
}
},
error: (error) => {
console.log("error");
}
});
}
Код CSS:
.cursorDisabled{
cursor: not-allowed;
color: gray;
}
Кнопка:
<button id= {"run"+col.name} type="button" onClick={() => this.onClickRun(col.name)} <i className="icon-play-filled"></i>
</button>