2011-08-17 8 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] को दूर करना चाहता था, मैं यह कर सकता है? मैंने स्प्लिसिंग की कोशिश की है, मूल्य को शून्य में बदलना, नाम बदलना आदि। इस सामग्री में से कोई भी काम नहीं करता है (जबकि तत्व केवल पढ़ने के लिए = झूठ रहता है) Jquery का निकालना फ़ंक्शन पूरे तत्व को हटा देता है ताकि यह काम न करे। किसी भी मदद की बहुत सराहना की है!

उत्तर

14

यह readonly है।

+1

कोई मेरी चिंता नहीं थी। –

+0

क्या इसके आसपास कोई काम नहीं है? – Alex

1

मुझे उत्सुकता है कि क्यों splice काम नहीं करता है। आम तौर पर यह यह करने के लिए बहुत आसान है:

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

तो अगर यह काम नहीं करता, मैं जानना चाहता हूँ कि क्या परिणाम हैं चाहते हैं।

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

आप 'var' के साथ अपने चर घोषित करने के लिए है:

संपादित

Btw, आप का उपयोग करने की आवश्यकता है।

+3

यह काम नहीं करता है क्योंकि (ए) 'फाइल' प्रॉपर्टी (ब्राउज़र में जो इसका समर्थन भी करती है) एक फाइललिस्ट संग्रह है और एक ऐरे नहीं है, इसलिए, अन्य डीओएम प्रकारों जैसे कि नोडलिस्ट के रूप में, यह नहीं है एक 'splice' विधि। और (बी), जैसा कि jleedev पोस्ट किया गया, फ़ाइललिस्ट केवल पढ़ने के लिए है। जानबूझकर, अत्यधिक सुरक्षा-संवेदनशील फ़ाइल अपलोड फ़ील्ड के साथ बातचीत को न्यूनतम रखने की कोशिश करने के लिए। – bobince

+0

इसके अलावा @ लुवे: किसी को 'var' के साथ उसके चर घोषित करने की आवश्यकता नहीं है। यह अच्छा अभ्यास है और यदि कोई नहीं करता है तो वे वैश्विक दायरे में समाप्त होते हैं, लेकिन किसी के पास ** ** नहीं है। – ANeves

+0

यहां आपके परिणाम हैं असहज टाइपरर: ऑब्जेक्ट # में कोई विधि 'स्प्लिस' (क्रोम से) – pshirishreddy

संबंधित मुद्दे