есть код который отправляет все значения с формы в action: 'slider', кроме файла с именем поля "img":
$('.button').live('click', function(event){
event.preventDefault();
var id = $(this).parent("form").attr("id");
var title = document.getElementById('title_slider'+id).value;
var description = document.getElementById('description_slider'+id).value;
var name_url_slider = document.getElementById('name_url_slider'+id).value;
var url_slider = document.getElementById('url_slider'+id).value;
var data = {
action: 'slider',
id_slider: id,
title: title,
description: description,
name_url: name_url_slider,
url_slider: url_slider
};
$.post(MyAjax.ajaxurl,
data,
function(response) {
if (response.result)
{
$('#'+id).remove();
$('.inputs').html(response.html);
}else{
//show().fadeOut(2000);
}
},'json');
$('<div class="message" style="width: 415px; text-align: center; opacity: 0.7; color: #4F8A10; background-color: #DFF2BF;border-radius: 10px; padding: 8px;">save...ok</div>').fadeIn('slow').appendTo('#success'+id);
$('.message').delay(500).fadeOut();
});
Но мне нужно отправить этот массив $_FILES поля "img" через ajax, как такое сделать?
есть пример отправки:
$("#mainForm").submit(function (event) {
event.preventDefault();
var data = new FormData($('#mainForm')[0]);
$.ajax({
type: "POST",
url: "upload.php",
data: data,
contentType: false,
processData: false,
beforeSend: function() {
$('#loader').show();
}
}).done(function (html) {
$("#results").append(html);
$('#loader').hide();
$('#mainForm')[0].reset();
});
});
<form enctype="multipart/form-data" action="upload.php" method="POST" id="mainForm">
<input id="uploadImage" type="file" accept="image/*" name="image[1]"/>
<input id="button" type="submit" value="Upload">
</form>
<div id="results"></div>
<img style="display:none" id="loader" src="loader.gif" alt="Loading...." title="Loading...." />
Но я не могу объединить мой код отправки формы(первый код) с этим примером, а точнее я не знаю как правильно, пробовал и не работает, как объединить с моим кодом?
PS: пишу это все в вордпресе