Probs beim Anzeigen einer Bildvorschau

nikek

Grünschnabel
Hallo,

ich hab folgendes vor:
In einer Maske soll ein File auswählbar sein, dass dann in einem Vorschaufenster angezeigt wird.
Krypthonas hat mir schon um einiges hierbei weitergeholfen, allerdings ist da immer noch ein fehler in meinem Code... bin um jeden Tip dankbar.
Also, wenns hinhaut soll folgendes passieren:
Man wählt ein Bild-File aus, das Bild wird als Vorschau angezeigt, ohne schon gespeichert zu werden.

Code:
<html>
<head>
  <link rel="stylesheet" type="text/css" href="../css/main.css">
   <script language="javascript">
  var tmpVAR="";
  var ObjTag=document.getElementById;
  
  function showImage()
  { if(ObjTag("cover").value!=="" && ObjTag("cover").value!==tmpVAR)
    { tmpVAR=ObjTag("cover").value;
      ObjTag("IMG_cover").src=ObjTag("cover").value;
    }
  }

  window.setTimeout("showImage()",2000);
</script>

</head>
<body onload="showImage();">
  <form>
   <table>
     <tr>
       <td>Cover hochladen:</td>
       <td style="text-align:left"><input type="file" name="cover"></td>
     </tr>
     <tr>
       <td></td>
       <td><div name="IMG_cover"></div></td>
     </tr>
   </table>
  </form>
</body>
</html>

mfg,
NikeK
 
Probiers mal so:
Code:
<html>
<head>
<script type="text/javascript">
<!--

function show_image(imgSrc)
{
if(imgSrc.match(/(gif|png|jpe?g)$/))
    {
    imgSrc=imgSrc.replace(/^file(\W)+/);
    document.preview.src='file:///'+imgSrc;
    document.preview.style.visibility='visible';
    }
else
    {
    document.preview.style.visibility='hidden';
    }
}
//->
</script>

</head>
<body>
  <form>
   <table>
     <tr>
       <td>Cover hochladen:</td>
       <td style="text-align:left"><input type="file" name="cover"onchange="show_image(this.value)"onclick="show_image(this.value)"></td>
     </tr>
     <tr>
       <td></td>
       <td><img src="dummie.gif"name="preview"width="100"style="visibility:hidden"></td>
     </tr>
   </table>
  </form>
</body>
</html>
 
der code funktioniert in mozilla und IE
aber opera, wie immer, bringt nen fehler
voilà:
Code:
file://localhost/C:/WINDOWS/Desktop/versuch.html
Event thread: onchange
Error:
name: ReferenceError
message: Statement on line 1: Reference to undefined variable: No such variable 'show_image'
Backtrace:
  In unknown script
    show_image(this.value);
  At unknown location
    {event handler trampoline}
habt ihr ne idee
flooo
 
Da habsch nen kleinen Bug eingebaut.....nur so als Demonstration, was kleine Fehler bewirken können:-)

Die schliessende Kommentarklammer im <script> -Block....da fehlt ein Bindestrich:

:( : //->
:) : //-->


...und alles wird gut.
 
leider funktioniert das in opera nicht, es wird nur der alt-tag angezeigt, das bild wird also nicht geladen
bug!?
idee!?
danke flooo
 
Ja, schade!
ich habe es bis jetzt so realisiert, dass ich ein Bild vom Server anzeige (beim Laden der Seite) und beim onChange wird das Bild verändert.
Wie kann ich es machen, das bei opera dann wieder das Bild vom Server zu sehen ist und nicht nur das Alt-Attribut?
Habs schon mit onError probiert, aber anscheint löst das nicht aus!
Wäre für ne Idee sehr dankbar
flooo
 

Neue Beiträge

Zurück