2015-07-10 2 views
0

У меня есть форма с ajax, которая содержит текстовое поле и поле для загрузкиajax submit form с файлом

Я могу представить только один из них.

как я могу это исправить?

Я хочу отправить «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

В $ .ajax вызов, subtitute значение параметра данных (filesData) по:

{ field1 : field1value, field2 : field2value, .... } 

используют так много пар поле/значение, как вам нужно

вы также можете получить значения непосредственно, как это:

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