2009-04-11 63 views
16

從我已經準備好的,您應該可以使用文件輸入字段的'value'屬性來獲取當前設置的該字段的路徑。但當我這樣做:如何使用jQuery獲取文件輸入字段的當前值

$('#fileinput').value() 

我得到'undefined'。我確定該字段的ID設置爲「文件輸入」。有沒有人有任何想法,爲什麼這可能不適合我?

順便說一下,這個工程:

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

所以我想這事做與jQuery的作品,我不完全理解的方式。

謝謝!

回答

41

您需要使用val而不是value。

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

這在Firefox而不是在谷歌chrome :(在Chrome 10 – Jan 2010-09-23 15:08:29

+1

對我的作品和11 – 2011-05-09 18:17:23

+1

應該正常工作。 – Jacta 2012-11-07 10:00:26

3

我不認爲有任何真正的合法途徑通過DOM訪問這個。瀏覽器遲遲不能上傳以防止上傳,這是一種安全風險。

2

我覺得應該是

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

它不是.VAL()如果你想獲得的文件/home/user/default.png它將與.VAL得到()只是爲Default.png

0

你能不能也做

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

15

在Chrome中8路徑始終是 'C:\ fakepath \' 與正確的文件名。

1

Jquery在IE和其他瀏覽器中的工作方式不同。您可以通過使用

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

在IE瀏覽器上面的警報將給出完整的路徑,但在其他瀏覽器,它會給只是文件名來訪問的最後一個文件名。

0

我已經試過這和它的作品:

yourelement.next().val(); 

yourelement可能是:

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

好運!