2015-07-10 88 views
0

我有一個帶有ajax的表格,其中包含textarea和上傳文件字段ajax用文件提交表格

我只能提交其中的一個。

我該如何解決這個問題?

我想發送「info」+「filesData」到服務器。 請指教。 謝謝你在先進

AJAX:

$(function() { 
    $("#submit").click(function() { 

    var file_data = $('#files').prop('files')[0]; 
    var form_data = new FormData();     
    form_data.append('file', file_data); 
    var files_data = form_data; 
    alert(files_data);  


    var act = 'add'; 
    var $form = $("#addCommentForm"); 
    var info = $form.serialize(); 
    info += '&act=' + act ; 
    alert(info); 

    $.ajax({ 
      type: "POST", 
      url: "ajax/addPost.php", 

      dataType: 'text', // what to expect back from the PHP script, if anything 
      cache: false, 
      contentType: false, 
      processData: false, 

      data: files_data, 
      success: function(data) 
      { 
      // alert(data); // show response from the php script. 
       $('#commentsBox').html(data); 
       $("#addCommentForm")[0].reset(); 

      } 

     }); 

    return false; 
}); 
}); 

HTML:

<form class="form-horizontal" action='#' method="post" id="addCommentForm" enctype="multipart/form-data"> 

    <div class="form-group"> 
     <div class="col-md-8 col-xs-12"> 
      <textarea class="form-control" name="post[text]"></textarea> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-8 col-xs-12"> 
      <input type="file" class="form-control" name="file" id="files"> 
     </div> 
    </div>         
    <div class="form-group"> 
     <label class="col-xs-2 control-label" for="textinput"></label> 
     <div class="col-md-8 col-xs-12"> 
      <a class="btn btn-primary" id="submit">submit</a> 
     </div> 
    </div>          
</form> 

PHP

print_r ($_FILES); 
print_r ($_POST); 

回答

0

在$就調用,subtitute數據參數的值(filesData)通過:

因爲你需要10
{ field1 : field1value, field2 : field2value, .... } 

使用盡可能多的字段/值對

您也可以直接獲取值是這樣的:

{ field1 : $('#commentsBox').text(), field2 : $('#yourinput').val(), .... }