Я бы пошел по модальному и / или оверлейному маршруту, это приятнее для пользователя, так как пользователь может видеть, что что-то происходит.Самое простое решение - просто вставить div где-нибудь на странице
<div id="overlay"></div>
и добавить немного css:
#overlay {
height: 100%;
width: 100%;
background-color: #ffffff;
opacity: 0.7;
z-index:10;
position:fixed;
display:none;
}
Примечание: непрозрачность не работает в IE 8 и старше, но естьальтернативы, которые быстрый Google раскроет.
Затем в вашем onChange (при условии, что вы используете jQuery) просто поместите $ ('# overlay'). Show () или .fadeIn (), и либо скрывайте его по завершении, либо, если страница обновляется, нет необходимостиделать что-либо.
Если вы не хотите, чтобы что-то видимое убрало цвет фона и непрозрачность, и оно будет невидимым.
Я бы порекомендовал прикрепить загрузочный GIF в середине #overlay радиясности
Надеюсь, это поможет.