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,

Foi útil?

Solução

Comece com o carregador oculto, isso deve resolver o seu problema:

<div class="loading" id="modalSending" align="center" style="display:none">

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top