Показывать div загрузчика при использовании Jquery Dialog с $ post - PullRequest
0 голосов
/ 17 января 2012

Это простая задача, показывающая loader.gif, но каким-то образом этот фрагмент кода работает только в Firefox и не работает в остальных браузерах.

Чего я хочу добиться - это когда пользователь нажимает кнопку «Отправить письмо»,они должны увидеть изображение загрузчика GIF.GIF-изображение загрузчика является частью div, идентификатор которого является валидным.

Я потратил около 8 часов на это и попробовал протестировать все альтернативы, такие как $ ajaxsetup, $ ajaxsend, $ ajaxstart и т. Д., Но ни один из них не работал для меня.

Мне нужен простой пример, который работает в популярных браузерах

Вот мой код

 $j("#dialog-form").dialog({
                autoOpen: false,
                height: 435,
                width: 400,
                modal: true,
                buttons: {
                    "Send Email": function() {

            $j("#validate").show();
            setTimeout(ProcessRequest(),5000);


                        }
                    },
                    Cancel: function() {
                        $j(this).dialog("close");
                    }
                },
                close: function() {
                    allFields.val("").removeClass("ui-state-error");
                }

function ProcessRequest()
            {

                            var jqxhr = $j.post(
                                   "posturl.aspx",
                                   { name: name.val(), email: email.val(), phone: phone.val(), date: date.val() },

                           function(data) {
                                result=data;
                           }).success(function() { OnSuccess(); })
                             .error(function() { OnError(); });

                            jqxhr.success(function() { OnSuccess(); });
                            jqxhr.error(function() { OnError(); });

            }

        <div id="validate" style="display:none">
               <img src='trns_loader.gif' /> Your Order is being processed
 </div>

1 Ответ

0 голосов
/ 15 августа 2012

То, как я использую loader.gif, крайне низко и работает фантастически.

Я поставил loader.gif в качестве фона основного div с позицией в центре.

Тогда любой загруженный контент, я делаю фон белым.

Таким образом, загрузчик показывает, пока содержимое не будет добавлено к диалогу.

Отлично работает во всех браузерах.

...