2012-07-30 9 views
6

Ho un:IE Java errore di script Impossibile ottenere il valore della proprietà '0':

<img id="uploadedimage" alt="uploaded image" src="" width="250px" height="250px"/> 

e hanno un div per visualizzare l'immagine una volta che l'utente ha selezionato la propria immagine utilizzando questo codice JQuery:

$('#BusinessImage').change(function (ev) { 

      var f = ev.target.files[0]; 
      var fr = new FileReader(); 
      var IsImage = false; 

      // check the file is an image 
      if (f.type.match('image.*')) { 
       IsImage = true; 
      } 

      fr.onload = function (ev2) { 
       if (IsImage) { 
        $('#uploadedimage').attr('src', ev2.target.result); 
       } 
      }; 

      if (IsImage) { 
       fr.readAsDataURL(f); 
       ValidFileUpload(); 
      } 
      else { 
       InvalidFileUpload(); 
      } 
     }); 

Ovviamente questo codice funziona benissimo in tutti gli altri browser a parte il browser Satans, Internet Explorer. Ottengo questo errore:

Line: 108 
Character: 13 
Code: 0 
Error Message: Unable to get value of the property '0': object is null or undefined 

Qualcuno ha idea di che cosa sta causando questo come funziona benissimo in FFX e Chrome.

Grazie

+1

Qual è il codice on line 108? Inoltre, quale versione di IE? – anAgent

+0

Ci scusiamo, qui var f = ev.target.files [0]; Sto anche usando IE 9 e l'ho provato in 8, entrambi non funzionano – Funky

+0

Ho bisogno di un jsfiddle di questo. IE ti sta dicendo che ev.target non contiene un array di file. – jholloman

risposta

8

lavoro ".files" solo su quelle browser che supportano HTML5.

file è supportato su IE10, ma per IE9 e le prime versioni è necessario utilizzare un altro modo per ottenere il percorso .:

Per verificare se è supportato file:

if(ev.target.files){ 
    //supported 
    console.log(ev.target.files[0]); 
}else{ 
    //.files not supported 
    console.log(ev.target.value); 
} 
+1

Non penso che 'files' funzioni in IE9. http://caniuse.com/#search=filereader –

+0

Sì, non è supportato :(C'è qualche altra alternativa? – Funky

+0

La mia risposta mostra cosa fare quando i file non sono supportati. Lo hai provato? –

Problemi correlati