2013-07-16 11 views
8

Jaki jest najlepszy sposób, aby pokazać ładowarkę i wyłączyć przycisk kiedy złożyć formularz:Pokaż ładowacz na Ajax.BeginForm złożyć

@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> 
} 

Plik ładowarka obraz jest

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

Może korzystania OnBegin z BeginForm, aby wyświetlić moduł ładujący i element OnComplete, aby go ukryć? Ale jak mogę zmienić obraz?

Jakąkolwiek sugestię, aby znaleźć ładowarki ładnej o dobrej jakości?

Dzięki

Odpowiedz

25

Put your ładowania znacznika obrazu wewnątrz znacznika div jak to:

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

W pliku CSS:

div#loading { display: none; } 

A, w postaci:

@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> 
} 

I dodaj jako cript do twojego widoku:

<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

Cześć, dzięki! Ale gdzie umieścić obraz ładowania? i jak zamienić obraz ui-symb-arrow-right-white-15x15.png na ładowaczu? – Patrick

+0

Przepraszam, ominąłem to. Umieszczasz obraz ładujący wewnątrz ukrytego elementu div. I użyj id ukrytego div jako LoadingElementId w formularzu ajaxowym. Aby ukryć inny obraz i wyłączyć przycisk, można użyć właściwości OnBegin klasy AjaxOptions. Spójrz na zaktualizowaną odpowiedź. – ataravati

+0

Świetnie! Dziękuję Ci bardzo. Pozdrawiam. – Patrick

Powiązane problemy