Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从输入文件中获取所选文件_Javascript_Jquery - Fatal编程技术网

Javascript 从输入文件中获取所选文件

Javascript 从输入文件中获取所选文件,javascript,jquery,Javascript,Jquery,我正在尝试将所选文件从输入文件放到表单提交上新创建的“formData”中,下面是我尝试的内容 首先我有表格 <form action="/upload.php"> <fieldset> <input type="file" name="file"> <input type="text" name="full_name"> </fieldset> <button>SEN

我正在尝试将所选文件从输入文件放到表单提交上新创建的“formData”中,下面是我尝试的内容

首先我有表格

<form action="/upload.php">
    <fieldset>
        <input type="file" name="file">
        <input type="text" name="full_name">
    </fieldset>
    <button>SEND</button>
</form>
但它给了我这个错误

未捕获的TypeError:无法读取未定义的属性“0”


是否有任何帮助,请提供意见?

FormData接受表单元素作为输入

试试下面的方法

fdata = new FormData($(this)[0]);

删除append

FormData接受表单元素作为输入

试试下面的方法

fdata = new FormData($(this)[0]);
删除append

,因为
dis.find('input[type=“file”]”)返回jQuery对象,并且它们没有
文件
属性。因此,如果出现错误,则需要获取底层DOM元素,然后访问该属性。所以使用

dis.find('input[type="file"]')[0].files[0]
而不是

dis.find('input[type="file"]').files[0]
由于
dis.find('input[type=“file”]”)
返回jQuery对象,并且它们没有
文件
属性,因此您得到了错误,因此需要获取底层DOM元素,然后访问该属性。所以使用

dis.find('input[type="file"]')[0].files[0]
而不是

dis.find('input[type="file"]').files[0]

fdata.append('file',dis.find('input[type=“file”])[0].files[0]);您正在尝试使用ajax上载文件,还是只想在页面上显示选定的图像?fdata.append('file',dis.find('input[type=“file”])[0]。files[0]);您正在尝试使用ajax上载文件,还是只想在页面上显示所选图像?为什么不简单
new FormData(this)
?为什么不简单
new FormData(this)