2013-07-16 3 views
8

Что такое лучший способ показать загрузчик и отключить кнопку, когда мы подаем форму:Показать погрузчик на Ajax.BeginForm отправить

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

файл загрузчика изображение является

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

Может быть, используя OnBegin из BeginForm, чтобы показать загрузчик и OnComplete, чтобы скрыть? Но как я могу изменить изображение?

Любое sugestion, чтобы найти хорошие качественные бесплатные погрузчики?

Благодаря

ответ

25

Поместите свою загрузку тег изображения внутри сНа тега, например так:

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

В файле CSS:

div#loading { display: none; } 

И в вашей форме:

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

И, добавить как cript to your Вид:

<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

привет, спасибо! Но где вы поместите изображение загрузки? и как вы можете заменить изображение ui-symb-arrow-right-white-15x15.png с загрузчиком? – Patrick

+0

Прости, я пропустил это. Вы помещаете загрузочное изображение внутри скрытого div. И используйте id скрытого div как LoadElementId в вашей форме ajax. Чтобы скрыть другое изображение и отключить кнопку, вы можете использовать свойство OnBegin класса AjaxOptions. Посмотрите на обновленный ответ. – ataravati

+0

Отлично! Большое спасибо. С уважением – Patrick

Смежные вопросы