私は現在の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文を行います。
を私はあなたのJS関数を参照することはできますか? –
純粋なajax(XMLHttpRequest)では、ファイルパラメータを投稿することができないので、コードは興味深いでしょう。 – Pointy
は 'return false;より' preventDefault() 'が優先されません。 – drudge