Хотите показать фактический прогресс или просто индикатор занятости во время действия? Если первое, вам понадобится какой-то механизм для записи процесса сохранения в сеансе и метод для проверки состояния процесса через AJAX. Вы отправляете форму через AJAX, а затем периодически вызываете метод check, чтобы получать отчеты о ходе работы и обновлять любой индикатор на стороне клиента (обычно переключаются с одного на другой из серии стандартных изображений или увеличивают ширину некоторого заполненного «бара»). ). Это, конечно, сложно.
Если вы хотите сделать последнее, просто отобразите анимированный GIF-индикатор занятости, пока вы отправляете форму через AJAX из jQuery с помощью обратного вызова beforeSend, а затем скройте индикатор, используя полный обработчик метода ajax.
$('form').ajax( {
url: '/updateprofile.aspx',
type: 'POST',
data: function() { return $('form').serialize(); },
beforeSend: function() { $('#indicator').show(); },
complete: function() { $('#indicator').hide(); },
success: function(data,status) { alert('Update complete'); }
});
Приведенный выше код будет в функции, вызываемой из любого обработчика, который вызывает отправку, или подключается к событию отправки формы - хотя вам также придется предотвратить выполнение действия по умолчанию.