Christl Geschrieben 18. Juli 2003 Geschrieben 18. Juli 2003 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? Zitieren
A.Z.R.A.E.L. Geschrieben 18. Juli 2003 Geschrieben 18. Juli 2003 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 Zitieren
Christl Geschrieben 21. Juli 2003 Autor Geschrieben 21. Juli 2003 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! Zitieren
Art Geschrieben 21. Juli 2003 Geschrieben 21. Juli 2003 wird javascript nicht zusammengeschrieben? Zitieren
Christl Geschrieben 21. Juli 2003 Autor Geschrieben 21. Juli 2003 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. Zitieren
A.Z.R.A.E.L. Geschrieben 21. Juli 2003 Geschrieben 21. Juli 2003 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 Zitieren
Christl Geschrieben 22. Juli 2003 Autor Geschrieben 22. Juli 2003 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: Zitieren
A.Z.R.A.E.L. Geschrieben 22. Juli 2003 Geschrieben 22. Juli 2003 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 Zitieren
kills Geschrieben 22. Juli 2003 Geschrieben 22. Juli 2003 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 Zitieren
Christl Geschrieben 23. Juli 2003 Autor Geschrieben 23. Juli 2003 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? Zitieren
A.Z.R.A.E.L. Geschrieben 23. Juli 2003 Geschrieben 23. Juli 2003 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 Zitieren
Empfohlene Beiträge
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.