Таков вопрос:
Не раз видел на сайтах интересную весч, скажем при отправке сообщения, после нажатия на кнопку появляется картинка прогрузки контента (load.gif к примеру) и после выполняется отправка - как осуществить сие?
1. maragon - 25 Февраля, 2011 - 03:42:52 - перейти к сообщению
2. Джур - 25 Февраля, 2011 - 09:13:07 - перейти к сообщению
По событию отправки формы (Вроде бы onSubmit для формы.) делаем видимой картинку load.gif...
Что-то вроде $('#load').show();
А вот дальше труднее. Если форма обычная, то страница перезагрузится.
Если форма отправляется во фрейм, то надо перехватывать событие onLoad фрейма.
А еще, что вероятней, данные ушли при помощи ajax-а.
Поэтому надо решить, как вы будите передавать данные формы.
Что-то вроде $('#load').show();
А вот дальше труднее. Если форма обычная, то страница перезагрузится.
Если форма отправляется во фрейм, то надо перехватывать событие onLoad фрейма.
А еще, что вероятней, данные ушли при помощи ajax-а.
Поэтому надо решить, как вы будите передавать данные формы.
3. Viper - 25 Февраля, 2011 - 10:07:36 - перейти к сообщению
Джур пишет:
А вот дальше труднее. Если форма обычная, то страница перезагрузится.
Если форма отправляется во фрейм, то надо перехватывать событие onLoad фрейма.
Если форма отправляется во фрейм, то надо перехватывать событие onLoad фрейма.
зачем так сложно. все равно если заиспользовать JQ
к примеру div с лодырем
CODE (html):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <div id="loader"><img src="loading.gif" border="0" style="vertical-align:center;" /> Loading</div>
CODE (javascript):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $("form").submit(function(){
- return false;
- $("#loader").show();
- $.post("url.php", $(this).serialize(), function(response){
- // что-то выполняем
- $("#loader").hide();
- });
- });
http://api[dot]jquery[dot]com/category/a[dot][dot][dot]orthand-methods/
ЗЫ! Если к примеру не кнопка или кнопка но не в форме тогда вешаем обработчик на click. Не забываем что для On-the-fly контента обработчик вешать через live.