Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen!

Ich habe ein Problem mit JavaScript in ASP.

Folgende Ausgangssituation:

Ich lasse mit ASP aus einer Datenbank Artikel anzeigen. Wenn für diesen Artikel ein Bild vorhanden ist, soll ein kleines GIF unter der Artikelbeschreibung angezeigt werden, und wenn man auf diese GIF klickt, wird/soll das größere ine einem Popup-Fenster erscheinen.

Das alles funktioniert, aber ich möchte das popup mit JavaScript aufrufen, weil ich dann das Fenster in seinem Erscheinungsbild beeinflussen kann (Statusbar etc. ausblenden, wird nur ein Bild angezeigt)

Ich wollte das folgendermassen lösen:

Im Head:

...

<!--

function oeffnefenster (url)

         {

         oeffnefenster=window.open(url, "Anzeige", "titlebar=no,toolbar=no,status=no,menubar=no,resizeable=yes");


         }

//-->

...
im body:
...

                       'Ausführen der Abfrage 

                       objRS.open sqlCommand

                       'Variable für Dateinamen

                       DIM dn, dn2

                       'Zusammensetzen des Dateinamens aus Artikelnummer und .gif

                       dn = "../../downloads/produkte/" & objRS.Fields("artikelnummer") & ".gif"

                       'Response.Write dn

                       dn2 = Server.MapPath(dn)

                       'Response.Write dn2

                       'Prüfen, ob Bild-Datei vorhanden

                       IF objFileSys.FileExists(dn2) THEN

                             Response.Write "<br><a href='javascript:oeffnefenster(detailbild.asp?" & objRS.Fields("artikelnummer") & ".jpg)'><img alt='Für Grossansicht - bitte Bild anklicken' src='" & dn & "' width='70' height='60' border='0'></a>"

                       END IF

            END IF

            Response.Write "</td>"

...

Leider funktioniert das nicht, egal welcher Browser, es wird mir immer ein Syntayfehler ausgeworfen.... :-(

Wenn ich JavaScript weglasse, und den zusammengesetzten Bildnamen mit href und target=_blank aufrufe, gehts, aber halt mit allen Browser-Leisten...

Hat irgendwer eine Idee?

Geschrieben

Hi!

Da du leider nicht angegeben hast welchen Syntaxfehler die Browser melden kann ich ja mal raten...

Versuch mal folgendes:

- das Leerzeichen vor 'titlebar=no' entfernen

- den entstehenden HTML - Code für den Link so aussehen zu lassen:

   

       <a href="javascript:oeffnefenster('deinbild.gif')">Bild anzeigen</a>

  

Bei mir hat es dann eigentlich so funktioniert.

Gruß

Azrael

Geschrieben

Hi Azrael!

Hab des ganze Wochenende gegrübelt... ;)

An dem Leerzeichen vor dem 'titlebat=no' lags nicht... Und der Systaxerror war immer in Zeile 1, Zeichen "sowieso".... aber leider zeigte er mir nicht, was seiner Meinung nach in Zeile 1 steht... Hm.

Ich habe mir dann Deinen Code-Vorschlag nochmal angesehen, und meine ASP-Seite davor weggelassen.. und siehe da:

Es funktioniert.. :bimei

immer noch nicht, aber ich sehe den Fehler:

 

Javascript URL thread: "javascript:oeffnefenster(MAIMSIKM2MC-L.jpg)"

Error:

name: ReferenceError

message: Statement on line 1: Reference to undefined variable: No such variable 'MAIMSIKM2MC'

Backtrace:

  In unknown script

    oeffnefenster(MAIMSIKM2MC - L.jpg); 

Es sieht also so aus, daß die Artikelnummern, die verwendet werde, Leerzeichen bzw. Bindestriche enthalten, somit sieht JavaScript das nicht mehr als einen kompletten String an, sondern versucht von einer nicht definierten Variable MAIMSI... eine nicht definierte Variable L zu subtrahieren....

Mal schauen, wie ich das in den Griff bekomme, ohne dass alle Artikel umgeschrieben werden müssen...:floet:

Aber Danke, Dein Code hat mich erst draufgebracht!

Geschrieben
Original geschrieben von Art

wird javascript nicht zusammengeschrieben?

Jau, aber ich kopiere den Quelltext solcher Sachen immer mit dem Opera, scheinbar wirbelt der ein bischen was auseinander, was nicht auseinander soll. Im Original-Quelltext stehts aber richtig drin.

Den Opera nehm ich ausser zum surfen auch immer zum testen her, wenns denn mit dem funktioniert, dann mit (fast) allen anderen auch.

Geschrieben

Hi Christl!

Ich glaub ich hab ihn (wieder) gefunden! :)

es scheint wirklich so zu sein wie ich mir dachte:

Versuch

- den entstehenden HTML - Code für den Link so aussehen zu lassen:

code:

--------------------------------------------------------------------------------

<a href="java script:oeffnefenster('deinbild.gif')">Bild anzeigen</a>

--------------------------------------------------------------------------------

du musst der funktion den Bildpfad als String also in einfache Hochkommas übergeben!

Das javascript immer auseinandergeschrieben wird glaub ich liegt an der Forum - Software!

Gruß

Azrael

Geschrieben

Morgen!

Also, wenn mein ASP den Link zusammengesetzt hat, sieht das folgendermaßen aus:


<a href='javascript:oeffnefenster('detailbild.asp?MAIMSIKM2MC-L.jpg')'>

<img alt='Für Grossansicht - bitte Bild anklicken' src='../../downloads/produkte/MAIMSIKM2MC-L.gif' width='70' height='60' border='0'>

</a>
Den Link in Hochkommas setzen hab ich gemacht, aber nun sieht der link für die Browser so aus:
><a href='javascript:oeffnefenster('

Hm, nach dem "a href=" hast du Anführungszeichen und kein Hochkomma...

Ganz blöde Frage: Wie krieg ich Anführungszeichen dahin, ich arbeite normalerweise immer mit Hochkommas, sonst erwartet ASP ja ein Anweisungsende (oder so)....?:confused:

Geschrieben

Hi!

Ich kenn mich leider nicht in ASP aus aber du musst dem " die Sonderbedeutung nehmen z.B. (in PHP) durch einen \...

wie es in ASP geht müsstest du eigentlich besser wissen als ich ;)

das " muss freilich nach dem "a href=" und der javascript funktion muss eben der String mit den Hochkommas (') übergeben werden!

Gruß

Azrael

Geschrieben

du musst eine Stringverkettung anwenden.

sieht bei PHP wie folgt aus



echo "Ich bin der lustige" . $name . ". Und ich habe sehr viele lustige Hobbies, z.B." .$Hobbies;[/PHP]

am besten du schaust mal beim google mit welchem zeichen du verketten musst. (Also ob wie bei PHP mit dem "." oder vielleicht ein "+" oder sowas)

gruss

kills

Geschrieben

Morgen!

Also, nun klappts auch mit dem Nachbarn... :bimei

Um mit ASP ein einfaches " auszugeben, muß man einfach 2 " hinschreiben, also: "", dann gehts... :marine

Manchmal sieht man den Wald vor lauter Bäumen nicht...

Aber noch eine Frage: ich kann solche JavaScript-Aufrufe immer nur einmal durchführen, wenn ich ein zweites mal draufklicke, bringt er "Server nicht vorhanden" und solche Fehlermeldungen...?? Muß ich da irgendetwas zurücksetzen?

Geschrieben

Hi!

Zurücksetzen musst du normalerweise nix.

Versuch mal deine Javascript - Funktion so umzuschreiben:


 function oeffnefenster (url) {

       window.open (url, "Anzeige", "titlebar=no,toolbar=no,status=no,menubar=no,

                              resizeable=yes").focus();

 }

Gruß

Azrael

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...