Kiedys dosc dawno temu pamietam do jakiegos projektu wymodzilem skrypt JS ktory jeszcze przed wyslaniem calego formularza pokazywal plik graficzny ktory chcialem zalaczyc. Teraz chcialem wykorzystac taki bajer ale widze ze z obecnymi przegladarkami cos nie teges. W czym tkwi problem ja juz sie starzeje czy znowu jakies zabezpieczenie ?
Kod mial mniej wiecej taka postac :

  1.  
  2. <script type="text/javascript">
  3. var maxWidth=100;
  4. var maxHeight=100;
  5. var fileTypes=["bmp","gif","png","jpg","jpeg"];
  6. var outImage="previewField";
  7. var defaultPic="spacer.gif";
  8.  
  9. function preview(what){
  10. var source=what.value;
  11. var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
  12. for (var i=0; i<fileTypes.length; i++) if (fileTypes[i]==ext) break;
  13. globalPic=new Image();
  14. if (i<fileTypes.length) globalPic.src=source;
  15. else {
  16. globalPic.src=defaultPic;
  17. alert("To nie jest poprawny plik graficzny\nProsze wrzucac tylko pliki z rozszerzeniem:\n\n"+fileTypes.join(", "));
  18. }
  19. setTimeout("applyChanges()",200);
  20. }
  21. var globalPic;
  22. function applyChanges(){
  23. var field=document.getElementById(outImage);
  24. var x=parseInt(globalPic.width);
  25. var y=parseInt(globalPic.height);
  26. if (x>maxWidth) {
  27. y*=maxWidth/x;
  28. x=maxWidth;
  29. }
  30. if (y>maxHeight) {
  31. x*=maxHeight/y;
  32. y=maxHeight;
  33. }
  34. field.style.display=(x<1 || y<1)?"none":"";
  35. field.src=globalPic.src;
  36. field.width=x;
  37. field.height=y;
  38. }
  39. </HEAD>
  40.  
  41.  
  42.  
  43. <div align="center" style="line-height: 1.9em;">
  44. <input type="file" id="picField" onchange="preview(this)">
  45. <br>
  46. <img id="previewField" src="spacer.gif">
  47. </div>