Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 如何使用jQuery获取文件输入字段的当前值_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 如何使用jQuery获取文件输入字段的当前值

Javascript 如何使用jQuery获取文件输入字段的当前值,javascript,jquery,dom,Javascript,Jquery,Dom,根据我的准备,您应该能够使用文件输入字段的“value”属性来获取该字段当前设置的路径。但当我这么做的时候: $('#fileinput').value() 我得到“未定义”。我确信该字段的ID设置为“fileinput”。有没有人想过为什么这对我不起作用 顺便说一下,这是有效的: var d = document.getElementById('AttachmentFile'); alert(d.value); 所以我想这与jQuery的工作方式有关,我并不完全理解 谢谢 您需要使用va

根据我的准备,您应该能够使用文件输入字段的“value”属性来获取该字段当前设置的路径。但当我这么做的时候:

 $('#fileinput').value()
我得到“未定义”。我确信该字段的ID设置为“fileinput”。有没有人想过为什么这对我不起作用

顺便说一下,这是有效的:

var d = document.getElementById('AttachmentFile');
alert(d.value);
所以我想这与jQuery的工作方式有关,我并不完全理解


谢谢

您需要使用val而不是value

$("#fileinput").val();

我认为没有任何真正合法的方式通过DOM访问它。这将是一个安全风险,浏览器最近已经锁定,以防止驱动器上传。

我认为应该是这样

 $('#fileinput').val();
它不是.val(),如果你想得到file/home/user/default.png,它将得到.val(),只是default.png


$(输入[type=file]).val()。您可以使用访问最后一个文件名

alert($('input').attr('value'));

在IE中,上述警报将给出完整路径,但在其他浏览器中,它将只给出文件名

我试过这个,效果很好:

 yourelement.next().val();
你的元素可以是:

$('#elementIdName').next().val();

祝你好运

我认为安全风险在于设置这个值,而不是读取它。这一切都取决于浏览器。刚刚测试过它后,您会得到不同的结果,这取决于您从哪里运行。在本地运行文件可以获得完整路径,在Web服务器上运行只需获得所选文件的名称,这从安全角度来看是有意义的。在Chrome 10和Chrome 11中适用于我。行为不同的不是jQuery,而是底层的DOM api。为了提高文章的质量,请包括此代码将如何/为什么解决此问题。