Javascript Ajax多重上传

Javascript Ajax多重上传,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我已经看到了很多做同样事情的方法,有些脚本从jQuery到纯JavaScript和ajax都没有相互交织在一起,这相当混乱 无论如何,我发现这个上传脚本只上传单个文件,我挑战自己把它变成一个多文件上传器,每次我尝试修改一些变量,我读到的关于解析php脚本的内容,都会遇到这个小问题 function uploadFile(){ var file = _("file").files[0]; //This line is the issue, changed it around still gave

我已经看到了很多做同样事情的方法,有些脚本从jQuery到纯JavaScript和ajax都没有相互交织在一起,这相当混乱

无论如何,我发现这个上传脚本只上传单个文件,我挑战自己把它变成一个多文件上传器,每次我尝试修改一些变量,我读到的关于解析php脚本的内容,都会遇到这个小问题

function uploadFile(){

var file = _("file").files[0]; //This line is the issue, changed it around still gave null errors

var formdata = new FormData();

formdata.append("file1", file);
var ajax = new XMLHttpRequest();
我的HTML是这样的

<form id="upload_form" enctype="multipart/form-data" method="post">
<input type="file" name="file1" id="file1"><br>
<input type="button" value="Upload File" onclick="uploadFile()">
</form>
(“file”).files[0]
没有任何用处。我假设
\
是jQuery的
$
的替代品。它将使用
“file”
查询找到的元素创建一个jQuery对象,并查找该对象上不存在的
files
属性

但是FormData部分很好,您应该继续使用它。当将
FormData
元素组合时,通过将表单用作
FormData
的参数,可以立即从表单中获取所有数据

要允许在单个
元素上上载多个文件,请添加
multiple
属性以允许选择多个文件

<form id="upload_form" enctype="multipart/form-data" method="post">
  <input type="file" name="file1" id="file1" multiple><br>
  <input type="button" value="Upload File">
</form>
(“file”).files[0]
没有任何用处。我假设
\
是jQuery的
$
的替代品。它将使用
“file”
查询找到的元素创建一个jQuery对象,并查找该对象上不存在的
files
属性

但是FormData部分很好,您应该继续使用它。当将
FormData
元素组合时,通过将表单用作
FormData
的参数,可以立即从表单中获取所有数据

要允许在单个
元素上上载多个文件,请添加
multiple
属性以允许选择多个文件

<form id="upload_form" enctype="multipart/form-data" method="post">
  <input type="file" name="file1" id="file1" multiple><br>
  <input type="button" value="Upload File">
</form>

这回答了你的问题吗?我目前正在阅读这篇文章,看看应该采用哪些位,并与我现有的脚本合作,看看它是否有效。很快我就做完了,我会在这里做出裁决。这是很多。@RachelGallen仍然有关于uploadFile不是一个变量的错误,然后我做了一个变量,然后这是另一个错误。我从提交输入的onclick中得到了它作为一个函数errors@jasmine.willis确保所有变量都在代码中正确声明,并评估代码是否存在语法错误(如果必要,如果您对它视而不见,请使用联机检查程序-有时,当您查看太久时,很容易遗漏某些内容)。在这些基础知识之后,在你回去之前先休息一下,然后一步一步地做。这是否回答了你的问题?我目前正在阅读这篇文章,看看应该采用哪些位,并与我现有的脚本合作,看看它是否有效。很快我就做完了,我会在这里做出裁决。这是很多。@RachelGallen仍然有关于uploadFile不是一个变量的错误,然后我做了一个变量,然后这是另一个错误。我从提交输入的onclick中得到了它作为一个函数errors@jasmine.willis确保所有变量都在代码中正确声明,并评估代码是否存在语法错误(如果必要,如果您对它视而不见,请使用联机检查程序-有时,当您查看太久时,很容易遗漏某些内容)。在这些基础知识之后,在回去之前休息一下,一步一步地做。谢谢@EmielZuurbier,仍然会出错。我应该给你看我剩下的剧本。请参见下面的hanks@EmielZuurbier,仍然会出现错误。我应该给你看我剩下的剧本。见下文
const form = document.getElementById('upload_form');

function onSubmit(event) {
  const formData = new FormData(form);
  fetch('plistingscript.php', {
    method: 'POST',
    body: formData
  });
  event.preventDefault();
}

form.addEventListener('submit', onSubmit);