Carregador em um link ASP.NET MVC 5
-
21-12-2019 - |
Pergunta
Estou tentando fazer algo bem simples, mas não funciona em todos os navegadores...Preciso da sua ajuda aqui:
<a href="@(Url.Action("Accept", "Manager", new { HolidayId = item.HolidayId }))" class="uifw-button xsmall black" OnClick="loader()"><i class="uifw-icon-standard uifw-icon-standard-check-circle xsmall " ></i>Accept</a>
Aqui está um botão simples, quando eu clicar nele, ele enviará um email ao usuário com os dados do banco de dados.
O fato é que, se eu pressionar esse botão algumas vezes, ele enviará poucos e-mails.
Então, eu gostaria de colocar um carregador ou algo assim, para que o usuário saiba que terá que esperar alguns segundos e não poderá clicar naquele link novamente.
Eu tentei algo assim, mas não está funcionando.Eu sou realmente novo com JS ..
<script type="text/javascript">
(function loader() {
getElementById('loading').style.display ='block';
}(document));
</script>
<div id="loading">
<img src="~/images/ajax-loader.gif" />
</div>
Editar:Ok, acabei de atualizar meu código e tenho isto:
<script type="text/javascript">
function ShowSendingProgress() {
var modal = $('<div />');
modal.addClass("modal");
modal.attr("id", "modalSending");
$('body').append(modal);
var loading = $("#modalSending.loading");
loading.show();
var top = '215px';
var left = '560px';
loading.css({ top: top, left: left, color: '#ffffff' });
}
</script>
<div class="loading" id="modalSending" align="center">
<img src="~/images/ajax-loader.gif" />
</div>
<a href="@(Url.Action("Accept", "Manager", new { HolidayId = item.HolidayId }))" class="uifw-button xsmall black" OnClick="ShowSendingProgress()"><i class="uifw-icon-standard uifw-icon-standard-check-circle xsmall "></i>Accept</a>
Isso não está funcionando, vejo o carregador ajax mesmo se não clicar no link.
Obrigado por ajudar,
Solução
Comece com o carregador oculto, isso deve resolver o seu problema:
<div class="loading" id="modalSending" align="center" style="display:none">