2008-09-05 14 views
37

अगर मैं एकयह निर्धारित करने के लिए कि उपयोगकर्ता ने फ़ाइल अपलोड के लिए कोई फ़ाइल चुनी है या नहीं?

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

टैग है, और अगर एक फ़ाइल उपयोगकर्ता द्वारा चयनित किया गया है एक सबमिट बटन, मैं कैसे तय करते हैं, IE6 (और ऊपर) में।

एफएफ में, मैं सिर्फ कार्य करें:

var selected = document.getElementById("uploadBox").files.length > 0; 

लेकिन उस IE में काम नहीं करता।

उत्तर

86

यह IE में काम करता है (और एफएफ, मेरा मानना ​​है):

if(document.getElementById("uploadBox").value != "") { 
    // you have a file 
} 
5

कोड के इस टुकड़े अपने स्थानीय वातावरण में काम करता है, आशा है कि यह भी लाइव

var nme = document.getElementById("uploadFile"); 
if(nme.value.length < 4) { 
    alert('Must Select any of your photo for upload!'); 
    nme.focus(); 
    return false; 
} 
0
function validateAndUpload(input){ 
    var URL = window.URL || window.webkitURL; 
    var file = input.files[0]; 

    if (file) { 
     var image = new Image(); 

     image.onload = function() { 
      if (this.width) { 
       console.log('Image has width, I think it is real image'); 
       //TODO: upload to backend 
      } 
     }; 

     image.src = URL.createObjectURL(file); 
    } 
};​ 

<input type="file" name="uploadPicture" accept="image/*" onChange="validateAndUpload(this);"/> 

में काम करता है जाएगा परिवर्तन पर इस समारोह को बुलाओ।