Вызов функции загрузки javascript и действия контроллера

74
5

При выполнении действия я пытаюсь отобразить страницу загрузки.

В представлении я имею следующий вид:

<div>
<label class="bold center">
Payment options
</label>
<div class="center">
<div class="float-left">
<label class="center bold">PayPal</label>
<form id="payPal" action="@Url.Action("PaypalMethod")">
<input type="image" name="submit"
src="~/Images/Functional/Icons/PayPal Pay.gif"
alt="PayPal — The safer, easier way to pay online." onclick="needToConfirm = false" />
</form>
</div>
<div class="float-left">
<label class="center bold">Credit Cards</label>
<form id="credit" action="@Url.Action("CreditCardMethod")">
<input type="image" name="submit"
src="~/Images/Functional/Icons/Credit cards.png"
alt="CreditCards" onclick="needToConfirm = false"/>
</form>
</div>
</div>
</div>

И у меня есть тот доступный javascript метод:

var spinnerVisible = false;

function ShowProgress() {
if (!spinnerVisible) {
$('div#spinner').fadeIn("fast");
spinnerVisible = true;
}
}
function HideProgress() {
if (spinnerVisible) {
var spinner = $('div#spinner');
spinner.stop();
spinner.fadeOut('fast');
spinnerVisible = false;
}
}

Поэтому, когда я нажимаю на первую форму, например, я хотел бы ShowProgress() вызвать метод ShowProgress(), затем действие и, наконец, HideProgress() после того, как результаты будут включены или просто загрузится следующее представление.

Как я мог это сделать?

спросил(а) 2014-02-27T17:02:00+04:00 6 лет, 3 месяца назад
1
Решение
65

Вы можете использовать атрибут onsubmit элемента формы.

<form onsubmit="ShowProgress()">

ответил(а) 2014-02-27T17:11:00+04:00 6 лет, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема