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