【发布时间】:2017-12-13 09:39:55
【问题描述】:
如何使用 ajax jquery 在没有提交按钮的情况下上传多个图片上传?有人可以帮我找出问题所在吗?
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> </script>
这里是代码
<body>
<input name="files[]" type="file" multiple />
<input type="hidden" name="hiddenval" id="hiddenval" value="">
<button id="upload" value="Upload" class="btn btn-success" />
</body>
</html>
<script>
$(document).on("click", "#upload", function() {
var outputdata = [];
$.ajax({
url: "upload1.php",
type: "POST",
data: new Form(this),
contentType: false,
processData: false,
success: function(files, data, xhr) {
outputdata.push(files);
$('#hiddenval').val(outputdata)
}
});
});
</script>
【问题讨论】:
-
为什么要混合使用 Bootstrap CSS (3.3.6) 和 JS (3.3.7) 版本?
-
@RoryMcCrossan,我收到警告“警告:为路径中的 foreach() 提供的参数无效”
-
那是因为您提供了对
FormData构造函数的按钮(#upload元素)的引用。它必须是form元素 -
@RoryMcCrossan,我已经更改了表单数据,仍然没有上传图片。
-
如果不看到您将其更改为什么,我们将无能为力。请编辑您的问题以显示更新后的代码。
标签: javascript php jquery ajax