2011-01-27 10 views
0

私は現在のAJAXスクリプトを使って写真アップロードフォームを探していました。

現在、私はファイルの入力を持つhtmlフォームを持っています。私は "PostForm(); false;を返すonclickイベントを持っています。

これは、魔法が起きたprocess.phpスクリプトを起動します(私は働いています)。しかし、私は成功と失敗のメッセージを表示し、通常は "1"または "0"の値を返すプロセススクリプトをポップアップします。

「PostForm();」を使用してフォームを取得できますが、エラーメッセージはすぐに表示され、その後に「1」と表示されたプロセスページにリダイレクトされます。私がfalseを返した場合は追加します。 onclickイベントに私は成功メッセージを得るが、ファイルはアップロードされない。

私は、 "return false;コマンドがファイルのアップロードを妨げています。プログレスバーを表示する方法はありますか?またはスピナーがアップロードして成功/失敗メッセージを表示している間にスピナーを表示する方法はありますか?

おかげ

アップデート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文を行います。

+3

を私はあなたのJS関数を参照することはできますか? –

+1

純粋なajax(XMLHttpRequest)では、ファイルパラメータを投稿することができないので、コードは興味深いでしょう。 – Pointy

+0

は 'return false;より' preventDefault() 'が優先されません。 – drudge

答えて

1

他の人が言いましたように、または少なくとも私が物事を乱すのを見ることができた限り、望ましい効果を得ることはできません。

私は誰にも私がやったことに、同様の問題がある場合に適していますUploadifyてみました - http://www.uploadify.com

関連する問題