2011-08-17 53 views
13

我試圖刪除或以某種方式取消多個文件的單個輸入中的單個值。比方說,我們有四個值...是否可以從文件輸入多個元素中刪除單個值?

<input id="input" multiple="multiple" type="file" /> 
input = document.getElementById('input'); 
// So our four files are: 
input.files[0]; 
input.files[1]; 
input.files[2]; 
input.files[3]; 

,如果我想從數組中刪除[1]不破壞別人,我能做到嗎?我嘗試拼接,將值設置爲NULL,更改名稱等。這些東西似乎沒有工作(而元素仍然只讀= false)Jquery的刪除功能刪除整個元素,所以不起作用。 任何幫助,非常感謝!

回答

14

這是readonly

+1

這是我關心的問題。 –

+0

有沒有解決辦法? – Alex

1

我很好奇爲什麼拼接不起作用。通常這很容易做到這一點:

var list = [4,5,6]; 
list.splice(1,1); 
console.log(list); // [4,6] 

所以,如果這不起作用,我想知道結果是什麼。

編輯

順便說一句,你需要使用:

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

你有 '無功' 來聲明變量。

+3

它不起作用,因爲(a)'files'屬性(在甚至支持它的瀏覽器中)是FileList集合而不是Array,因此,像其他DOM類型(如NodeList)一樣,它沒有一種「拼接」方法。和(b)一樣,正如jleedev所發佈的,FileList是隻讀的。故意這樣做,以儘量保持與高度安全敏感的文件上傳領域的互動。 – bobince

+0

也@Luwe:一個人不必用'var'聲明她的變量。這是一個很好的做法,如果一個人不這樣做,他們最終會在全球範圍內,但是一個人不會**。 – ANeves

+0

這是你的結果 未捕獲TypeError:對象#沒有方法'splice'(來自chrome) – pshirishreddy

相關問題