我有一个表单,其中包含一个可以接受多个文件(图像)的类型文件的输入,如下所示:
<input type="file" id="fileupload" name="fileupload[]" multiple />
一旦用户选择了一个或多个图像,它们就会被动态添加到网站上,如果用户愿意,也可以删除其中的一个或全部
有没有一种方法可以更新从输入元素中选择哪些文件发送到php脚本?
如果没有,我如何只发送用户选择的图像?我的意思是,我可以用JavaScript将用户选择的内容放在另一个数组中,但我如何将它们发送到php脚本?
已编辑
详细信息例如,当用户选择三个图像文件时,我使用的JavaScript代码会将它们作为图像附加到屏幕中,用户可以通过单击它们来删除其中一个或全部。因此,我的问题是,例如,如果用户删除了其中一个图像,我如何才能只将另外两个图像发送到php脚本中?
我不是在寻找完整的代码。我只是在寻找如何实现它的提示。
我已经明白你想要什么了。
将Ajax与formData结合起来就可以实现这一点。
$(document).ready(function(){
$("form#data").submit(function(){
// create your filtred list of files from your file input
var data = {};
$.each($('#fileupload')[0].files, function(i, file) {
// Keep only the files that the user has selected
if ( i % 2 == 0){ // <--- CHANGE THIS
data['file-'+i] = file;
}
});
// create a FormData (to send files with AJAX)
var formData = new FormData();
for (var key in data) {
formData.append(key, data[key]);
}
// send that formData
php_script_url = "your_script.php"
$.ajax({
url: php_script_url,
type: 'POST',
data: formData,
async: false,
success: function (data) {
console.log(data);
},
cache: false,
contentType: false,
processData: false
});
return false;
});
});
不要忘记在此脚本之前包含jQuery
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>