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

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

$('#fileinput').value() 

我得到’未定义’。 我确定该字段的ID设置为“fileinput”。 有没有人想过为什么这可能不适合我?

顺便说一下,这有效:

 var d = document.getElementById('AttachmentFile'); alert(d.value); 

所以我想这与jQuery的工作方式有关,我并不完全理解。

谢谢!

您需要使用val而不是value。

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

在Chrome 8中,路径始终为“C:\ fakepath”,并且文件名正确。

它不是.val()如果你想得到文件/home/user/default.png它会得到.val()只是default.png

我不认为有任何真正的合法方式通过DOM访问它。 浏览器最近被锁定以防止偷渡式上传将是一种安全风险。

我认为应该是

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

Jquery在IE和其他浏览器中的工作方式不同。 您可以使用访问最后一个文件名

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

在IE中,上述警报将提供完整路径,但在其他浏览器中,它将仅提供文件名。

你能做到吗?

$(input[type=file]).val()

我试过这个并且它有效:

  yourelement.next().val(); 

你的元素可能是:

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

祝好运!