2013-07-16 15 views
8

Ne form gönderildiğinde bir yükleyici gösterip düğmesini devre dışı için en iyi yoldur: Belki kullanarak yükleyici görüntü dosyasıgöster yükleyici göndermek

<img src="~/Content/Images/ui-loader-white-16x16.gif" /> 

@using (Ajax.BeginForm(MVC.Account.Login(), new AjaxOptions { OnSuccess = "onLoginSuccess" }, new { @id = "loginForm" })) 
{ 
    <div id="logbtn"> 
    <input type="submit" name="invisible" class="subinvisible"/> 
    <p>@HeelpResources.AccountLoginViewLoginButtonLabel</p> 
    <img src="~/Content/Images/ui-symb-arrow-right-white-15x15.png" width="13" height="12" /> 
    </div> 
} 

olduğunu

Yükleyiciyi ve saklamak için OnComplete'ı göstermek için BeginForm'dan OnBegin? Fakat resmi nasıl değiştirebilirim?

Kaliteli ücretsiz yükleyiciler bulmak için herhangi bir emzirme?

Teşekkür

cevap

25

böyle bir div etiketinin içine yükleme resim etiketi koyun: CSS dosyasında

<div id="loading"> 
    <img src="~/Content/Images/ui-loader-white-16x16.gif" /> 
</div> 

:

div#loading { display: none; } 

Ve Formunuzdaki:

@using (Ajax.BeginForm(MVC.Account.Login(), 
    new AjaxOptions { OnSuccess = "onLoginSuccess", LoadingElementId = "loading", 
    OnBegin = "onLoginBegin" }, 
    new { @id = "loginForm" })) 
{ 
    <div id="logbtn"> 
    <input type="submit" name="invisible" class="subinvisible"/> 
    <p>@HeelpResources.AccountLoginViewLoginButtonLabel</p> 
    <img src="~/Content/Images/ui-symb-arrow-right-white-15x15.png" width="13" height="12" /> 
    </div> 
} 

Ve şöyle ekleyin: Görünümünüzün görüntüsü:

<script type="text/javascript"> 
    function onLoginBegin() 
    { 
     // Disable the button and hide the other image here 
     // or you can hide the whole div like below 
     $('#logbtn').hide(); 
    } 
</script> 
+0

Merhaba, teşekkürler! Ama yükleme görüntüsünü nereye koyuyorsunuz? ve ui-symb-arrow-sağ-white-15x15.png görüntüsünü yükleyiciyle nasıl değiştirirsiniz? – Patrick

+0

Üzgünüm, bunu özledim. Yükleme resmini gizli bir divun içine koydun. Ve, gizli divın kimliğini ajax formunuzda LoadingElementId olarak kullanın. Diğer görüntüyü gizlemek ve düğmeyi devre dışı bırakmak için AjaxOptions sınıfının OnBegin özelliğini kullanabilirsiniz. Güncellenmiş cevaba bakın. – ataravati

+0

Harika! Çok teşekkür ederim. Saygılarımızla – Patrick