2010-11-30 8 views
0

Können Sie mir bitte helfen, die Satzzeichen im unten stehenden Javascript zu korrigieren? Fehler beim Einfügen in Visual Studio gefunden. Ich bin nicht vertraut mit Javascript! Dank guy ...Satzzeichen in Javascript

function showLocalImage(imgname) { 
    imgname = imgname.replace(/\\/g,”/”); 
    imgname = imgname.replace(/\’/g,”\\’”); 
    content = “<img src=\”" + String(imgname) + “\” border=\”0\” height=\”150\” weight=\”150\”>”; 
    eval(‘document.getElementById(“imagepreview”).innerHTML=\” + content +”‘”); 
    document.getElementById.imagepreview.style.visibility =’visible’; 
} 
+1

Gibt es einen bestimmten Grund, warum Sie phantastische geschweifte Anführungszeichen (zB '' 'oder' '') anstelle von geraden Anführungszeichen (zB '' '' '' '') haben? –

+1

Sind diese "Curly Quotes" tatsächlich in Ihrem Code? Beginnen Sie damit, diese durch "direkte Anführungszeichen" zu ersetzen. – deceze

+0

Dieser Code wurde aus dem Internet gefunden und ich habe versucht, alle fancy curly Anführungszeichen durch die geraden Anführungszeichen zu ersetzen, aber ich bin nicht vertraut mit Javascript, so dass es immer noch Fehler wirft .... –

Antwort

1

Dies liegt daran, einige Ihrer Anführungszeichen tatsächlich aus einem anderen Zeichencodierung sind, verwenden Sie den folgenden Code:

function showLocalImage(imgname) { 
    imgname = imgname.replace(/\\/g,"/"); 
    imgname = imgname.replace(/\’/g,"\\'"); 
    content = "<img src=\"" + imgname + "\" border=\"0\" height=\"150\" weight=\"150\">"; 
    var image_preview = document.getElementById("imagepreview"); 
    image_preview.innerHTML = content; 
    image_preview.style.visibility = 'visible'; 
} 

Ein paar Dinge:

  • Sie sollten DOM-Ergebnismengen und -Elemente so oft wie möglich wiederverwenden, damit Sie nicht jedes Mal eine Abfrage für das DOM ausführen müssen, wenn Sie auf ein Element oder eine Gruppe von Elementen verweisen müssen.

  • Sie sollten wirklich versuchen, die eval Funktion so weit wie möglich zu vermeiden.

    eval == EVIL

+0

Sie haben noch ein paar " 'Charaktere herum in dort hängen ... –

+0

@Michael Danke, behoben. –

+0

Tut die 'neue Zeichenkette (imgname)' tatsächlich irgendetwas? Warum nicht einfach 'imgname' - es wird schon eine Zeichenfolge von vorher sein ... –

1

Sie scheinen falsche Anführungszeichen (” or ‘) zu verwenden. Ersetzen Sie sie mit "oder" und Sie werden gut sein. Verwenden Sie einen ASCII-Texteditor, kein Textverarbeitungs für die Typisierung.

0

Sie sollten eval vermeiden, und erklären die content Variable sowie deklarieren einen Verweis auf die imagepreview element:

function showLocalImage(imgname) { 
    imgname = imgname.replace(/\\/g,"/"); 
    imgname = imgname.replace(/\'/g,"\\'"); //Is this really necessary? 
    var content = "<img src=\"" + imgname + "\" border=\"0\" height=\"150\" weight=\"150\">"; 
    var img = document.getElementById("imagepreview"); 
    img.innerHTML = content; 
    img.style.visibility ='visible'; 
} 
Verwandte Themen