2011-05-17 129 views

回答

1

並非所有的瀏覽器支持拖動文件到文件輸入(FF4在OS X上肯定沒有),但你可以檢查change事件,應提供跨瀏覽器的統一結果文件輸入的值。

取決於瀏覽器,你可以檢查的

<input type="file" id="foo" /> 

值,像這樣:

// vanilla JS 
var filename = document.getElementById('foo').value; 

// jQuery 
var filename = $('#foo').val(); 

你會做這樣的change聽衆裏面,像這樣(例如jQuery的jsFiddle):

function alertFileName() 
{ 
    alert(this.value); 
} 

var input = document.getElementById('foo'); 

// not IE friendly; use `attachEvent` instead 
input.addEventListener('change', alertFilename, false); 

如果您上傳的文件名爲bar.txtfilename將是:

  • 'C:\fakepath\bar.txt'(鉻)
  • 'bar.txt'(火狐4,Safari瀏覽器)
  • ??? (IE)

我目前沒有設置測試IE;請隨時致電try it yourself

+0

我覺得Safari也是一樣的。它必須是WebKit的東西。 – alex 2011-05-17 03:37:33

+0

不,Safari與FF4相匹配。對於Apple的瀏覽器來說,它也將是一個非Mac類似的事情,可以返回類似於Windows的文件路徑 – 2011-05-17 03:40:05

+0

嗯,不知道爲什麼我這麼認爲。在OS X上的Chrome仍然返回Windows樣式路徑有點奇怪。 – alex 2011-05-17 03:44:47

相關問題