Я хочу знать, как показать «загрузочное» изображение, когда форма отправлена ​​action = "any.php" - PullRequest
1 голос
/ 27 июля 2010

Я хочу показывать Loader img с jQuery, когда вы публикуете PHP Простое действие = "search.php" Не ajax post или jquery post и спасибо за все

1 Ответ

1 голос
/ 07 сентября 2010

Эта проблема не может быть решена осмысленно без использования AJAX. Другими словами, вам нужно, чтобы AJAX показывал «загрузочное» изображение, пока ответ на отправку формы обрабатывается сервером.

Если я вас правильно понимаю, то у вас есть форма:

<form action="search.php" method="post">
    ...
</form>

И он обрабатывается как обычная форма HTML. Данные передаются страницей на сервер, который использует PHP для их обработки. Без AJAX у вас нет хорошего способа узнать, когда ответ формы, результаты поиска готовы.

Обычно выполняется отправка формы на сервер с использованием AJAX. Форма обрабатывается сервером (PHP делает свое дело). В течение этого времени отображается «поисковое» изображение. Затем, когда сервер отвечает, изображение удаляется и отображаются результаты поиска.

Используя jQuery и AJAX на странице, это можно сделать так:

Пример jsFiddle

  // The form has an id of "theForm".
  // This function defines what happens when it is submitted.
$('#theForm').submit(function() {

      // Replace the form w the search icon.
    $("#theForm").html('Searching...<br/>' +
        '<img src="http://i.stack.imgur.com/ZK0sq.gif" />');

      // Make the search request to the PHP page.
      // The 3 arguments are: 
      //     1 - The url. 2 - the data sent 
      //     3 - The function called when data is sent back
    $.post("/ajax_html_echo/", $(this).serialize(), function(result){

          // Here we replace the search image with the data
        $("#page").html(response);
    });

      // Cancel the regular submission of the form.
      // You have to do this, or the page will change and things won't work.
    return false;
});

Хорошая вещь в вышеприведенном - это то, что он хорошо ухудшается, если JS выключен, поскольку у вас все еще есть обычная форма HTML и ее обычная функция отправки, и если JS включен, то он блокирует эту обычную функцию return false и использует AJAX.

Используемый запрос:
.submit ()
.html ()
.post ()
.serialize ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...