Variable in ein bestimmtes Frame übergeben
Melanie
- javascript
0 Kess0 Peter Seliger
Hallo Gemeinde,
zu dem o. g. Thema habe ich viel im Archiv gefunden. U. a. auch, daß man mit "OnClick="top.close()" einen in einem neuen Fenster dargestellten Frame schließen kann..,-) Allerdings sind die Ansätze in den Lösungen sehr vielschichtig und ich habe einfach nicht herausfinden können, wie ich meine Wünsche lösen kann. Vielleicht kann mir einer von euch weiterhelfen. Hier mein Wunsch:
Ich öffne über einen Link mit dem Befehl (mit DB Anbindung)
<a href="javascript:winopen('../zeige/ma_anzeige.asp?status=<% =rs.Fields("ID")%>')">
ein neues Fenster. Dieses Fenster hat ein Frameset (zwei Frames übereinander) ohne Bildlaufleisten, Menü, Statusleiste etc.
Im unteren Frame wird immer die Seite geladen, die dieses Fenster wieder schließt. Mit "OnClick="top.close()". Klappt hervorragende !
Im oberen Frame soll über die ID etwas aus einer DB angezeigt / ausgegeben und angezeigt werden (wieder DB Anbindung).
Das klappt auch alles bei einer "einfachen" HTML Seite. Bei meinen Frameset allerdings nicht. Das bekomme ich die Fehlermeldung, daß die Info nicht angezeigt werden kann, da der gesuchte Datensatz nicht vorhanden ist. Über "response.write(SQL)" sehe ich dann, daß die Variable "ID", die ich mit den Link übergebe ("?status=<% =rs.Fields("ID")%>"), nicht an die SQL Anweisung übergeben worden ist: "SELECT * FROM DB where ID = "
Ich habe nun versucht, den Befehl u. a. folgendermaßen zu ändern:
<a href="javascript:winopen('../zeige/ma_anzeige.asp?status=<% =rs.Fields("ID")%>') target="Hauptframe"">.
Hier bekomme ich aber Fehler auf der Seite angezeigt. Oder es öffnet sich ein "normales" leeres Fenster.
Was muß ich machen, um die Variable in das Haupframe zu übergeben. Code ist willkommen.
Noch zu eurer Info: Ich brauche nicht darauf zu achten, daß das in verschiedenen Browser läuft, da die einzige Version, die genutzt wird der IE 4.01 und höher ist. Außerdem verwende ich den IIS 4.0 auf NT Server 4.0.
Vielen Dank schon einmal im Voraus.
Melli
Hallo Melanie,
Ich habe nun versucht, den Befehl u. a. folgendermaßen zu ändern:
<a href="javascript:winopen('../zeige/ma_anzeige.asp?status=<% =rs.Fields("ID")%>') target="Hauptframe"">.
so wie ich das sehe, hast du ein Problem mit der Setzung von einfachen ud doppeltem Hochkomma. Sie sind zwar richtig gruppiert, aber das erste doppelte Hochkomma schließt den Befehl ab, der an der Stelle noch gar nicht beendet ist.
In deinem Fall wäre dein Verweisziel href="javascript:winopen('../zeige/ma_anzeige.asp?status=<% =rs.Fields("
Alles danach ist für den Browser unverständliches Kauderwelch. Das ist natürlich nicht ganz das, was du erreichen willst.
Besser, du rufst erst eine Funktion auf, der du die ID übergibst, die ihrerseites dann window.open ausführt:
function neuesFenster (id) {
winopen("../zeige/ma_anzeige.asp?status=<% =rs.Fields(" + id + ")%>";
}
....
<a href="javascript:neuesFenster('ID')">
Viele Gruesse
Kess
hallo melanie
<a href="javascript:winopen('../zeige/ma_anzeige.asp?status=<% =rs.Fields("ID")%>')">
wie sieht der quellcode der seite aus, die das oben angefuehrte
statement benutzt, nachdem diese im browser ausgefuehrt wurde ?
kann ich mal einen blick auf die funktion winopen(' ') werfen ?
tschuess bis montag - peter - pseliger@gmx.net