2016-05-27 29 views
0

すでに編集したフォームには多くのフィールドがありますが、すべての保存と検証はトラフajaxになります。 彼らは今、私にファイルのアップロードを依頼しました。私は厳しいです。それはちょうど入力を設定し、それを元に戻しますが、すべてがトラフアジャクスになります。画像をAjax経由でアップロード

私はすべての機能を変更する必要はありませんし、必要がない場合は送信してください。 ファイルトラフajaxのアップローダーを探しましたが、それらのすべてがタイプドラッグアンドドロップであり、単純なファイルが必要なだけなので、私は好きではありません。 そして、私が見つけたものは、フラッシュでどこがシンプルに見えますか?

フィールドを送信するタイプを変更することなく、簡単なファイルトラフajaxをアップロードできる簡単なスクリプトはありますか?

感謝の事前の仲間で;)

//the js that saves all the inputs 
function _edit_campaign(){ 
var data = formvalues_inspinia("body"); 
data.action=_action; 
data.status=$("#smf_ior_status").val(); 

$.ajax({ 
    url: "/save_changes", 
    dataType: "json", 
    data: data, 
    method:"POST", 
    success: function (response) { 
     if(!response.status){ 
      toastr_error(response.desc); 
      $("#submit_confirm").prop("disabled", false); 
      $("#"+response.camp).focus(); 
     }else{ 
      toastr_success(response.desc); 

     } 
    } 
}); 

}

+1

コードを表示できますか? –

+0

@PareshGamiそこにyopuはjsのコードを持っています。ここで私はフォームのすべてのフィールドを保存します – Caius

答えて

1

クライアント側

$.ajax({ 
url: "ajax_php_file.php", // Url to which the request is send 
type: "POST",    // Type of request to be send, called as method 
data: new FormData(this), // Data sent to server, a set of key/value pairs (i.e. form fields and values) 
contentType: false,  // The content type used when sending data to the server. 
cache: false,    // To unable request pages to be cached 
processData:false,  // To send DOMDocument or non processed data file it is set to false 
success: function(data) // A function to be called if request succeeds 
{ 

}); 

あなたが使用して簡単な方法でこれを達成することができます

$sourcePath = $_FILES['file']['tmp_name'];  // Storing source path of the file in a variable 
$targetPath = "upload/".$_FILES['file']['name']; // Target path where file is to be stored 
move_uploaded_file($sourcePath,$targetPath) ; // Moving Uploaded file 
+0

素敵!!! これは私が必要としているものです:D そして、私はそれがどうなるか、そのAjaxにいくつかの入力をもっと送る必要があるのですか? 私はinput-file-id = file_pdfとカテゴリと呼ばれる入力があると言うことができます troughtを得るためにコードを編集できますか? tnx – Caius

+0

入力カテゴリの値は$ _POST ['category']になります。 –

1

サーバ側「ajaxSubmit " ページにjquery.form.jsを含めてフォームを送信してください。

$(form).ajaxSubmit({ 
      url: url, 
      type: "POST",   
      success: function (response) { 
       // do what you need with response 
     }); 

サーバー上のファイルを含むすべてのフォームデータを送信すると、これらのデータを通常の方法で処理できます。

関連する問題