• User Newbie

    Problema con javascript

    Prima di eseguire l'upload di una immagine vorrei fare il preview con lo script seguente:
    <script language=javascript type="text/javascript">
    var maxLarghezza=100;
    var maxAltezza=100;
    var TipiFile=["bmp","gif","png","jpg","jpeg"];
    var Output="img";
    var FotoMom;

    • function ApplicaModifica()
      {
      var Campo=document.getElementById(Output);
      var x=parseInt(FotoMom.width);
      var y=parseInt(FotoMom.height);
      if (x>maxLarghezza)
      {
      y*=maxLarghezza/x;
      x=maxLarghezza;
      }
      if (y>maxAltezza)
      {
      x*=maxAltezza/y;
      y=maxAltezza;
      }
      Campo.style.display=(x<1 || y<1)?"none":"";
      Campo.src=FotoMom.src;
      Campo.width=x;
      Campo.height=y;
      }*
    • function SettaImmagine()
      {
      var source=document.getElementById('file').value;
      var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
      for (var i=0; i<TipiFile.length; i++) if (TipiFile*==ext) break;
      if (i<TipiFile.length)
      {
      xxx='file://localhost/' + source;
      xxx=xxx.toLowerCase();
      FotoMom=new Image()
      FotoMom.src=xxx;
      setTimeout("ApplicaModifica()",200);
      }
      else
      {
      alert('FORMATO NON VALIDO!!\n');
      }
      }
      </script>*
      <BODY>
      <br>
      <input type="file" id="file" onchange="SettaImmagine()">
      <br>
      <img id="img" src="">
      <br>
      </BODY>

      Il problema sta nel fatto che non funziona sempre con tutte le immagini, che a volte riconosce di altezza e grandezza pari a 0, anche se non lo sono.
      Ringrazioe per l'aiuto

    var maxLarghezza=208;var maxAltezza=156;var TipiFile=["bmp","gif","png","jpg","jpeg"];var Output="imga";var FotoMom;*** function ApplicaModificaA(){******* var Campo=document.getElementById(Output);******* var x=parseInt(FotoMom.width);******* var y=parseInt(FotoMom.height);******* if (x>maxLarghezza){******* y*=maxLarghezza/x;******* x=maxLarghezza;} if (y>maxAltezza){ * x*=maxAltezza/y; y=maxAltezza;} if (x