AJAX POST $ _FILES с onclick = "return false;" - PullRequest
0 голосов
/ 27 января 2011

Я искал форму для загрузки фотографий, используя текущий скрипт AJAX.

В настоящее время у меня есть HTML-форма с файлом ввода, при отправке у меня есть событие onclick с "PostForm (); return false;"

Это запускается в сценарии process.php, где происходит волшебство (и я работаю). Тем не менее, у меня есть сообщение об успехе и неудаче, которое обычно появляется, когда скрипт процесса возвращает значение «1» или «0».

Я могу заставить форму работать, просто используя «PostForm ();», однако сразу появляется сообщение об ошибке, после чего оно перенаправляется на страницу процесса, которая отображает «1». Если я добавлю, верните false; в событие onclick я получаю сообщение об успехе, однако файл не загружен.

Я полагаю, что "возвращать ложь"; Команда запрещает загрузку файла. Есть ли способ показать индикатор выполнения или счетчик, пока он загружает, а затем отображать сообщение об успехе / неудаче?

Спасибо

Обновление 1
Код jQuery

 PostForm = function() {
  $('.text').attr('disabled','true');
            var data = $('form').serialize();
            $.ajax({
              type: 'POST',
              url: "/lib/mp-update.php",
              data: data,
              cache: false,
              success: function(html) {
                  if(html==1) {
                      $('#success').hide();
                      $('#success').removeClass();
                      $('#success').slideUp('50000');
                      $('form').fadeOut('50000', function() {
                           $('#success').fadeIn('50000');
                      });
                  } else {
                      $('#fail').hide();
                      $('#fail').removeClass();
                      $('#fail').slideUp('50000');
                      $('form').fadeOut('50000', function() {
                           $('#fail').fadeIn('50000');
                      });
                  }
              }
            });
            return false;
        }
    });

PHP выполняет стандартный оператор switch, чтобы определить, какая форма была отправлена ​​из скрытого значения формы.

1 Ответ

1 голос
/ 01 февраля 2011

Как уже упоминали другие люди, или, по крайней мере, насколько я мог судить, что-то не получается получить желаемый эффект.

Я попробовал Uploadify, который хорошо работает, если у кого-то есть проблема, аналогичная той, что я делал - http://www.uploadify.com

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