Zwei Frames mit je einem Javascript- event
Andreas Daschner
- javascript
In einem zweigeteilten Frame verwende ich oben eine Javascriptfunktion
die beim ändern eines Pull Up Menüs ein Script ausführt und das Ergebnis
an den unteren Frame sendet, dieses ergebnis beinhaltet widerum eine
Javascriptfunktion (NeuFenster1) die auf einen Link reagiert und das
Ergebnis in einem kleinen separaten Fenster anzeigen soll.
Die Funktion FensterNeu1 verwende ich auch in anderen Scripts,
allerdings ohne Frames, da funktioniert es einwandfrei.
Kann es sein das es mit dem Frame zu tun hat??
function Go1(x)
{
parent.frames[1].location.href ="show_all.pl?filter1="+x;
document.forms[0].reset();
/* document.forms[0].elements[0].blur();*/
}
Aufruf der Fuktion durch change Event:
print '<select size=1 name="select0" onChange="Go(this.form.select0.options[this.form.select0.options.selectedIndex].value)">';
klappt
$JSCRIPT=<<END;
function NeuFenster1(X)
{
EditFenster1=
window.open("/cgi-bin/leg/aft/edit_db.pl?value=pwd&id="+X,"edit_db","width=300,height=450,screenX=200,screenY=100");
EditFenster1.focus();
}
Aufruf der Funktion:
print "<a href=javascript:NeuFenster1($ausgabe[0])>zeige Ergebnis in NeuFenster1</a>";
Javascript Fehler: NeuFenster1 is not defined >>>>?
Die gleiche Fuktion (NeuFenster1) verwende ich in einem anderem Scipt, wo sie auch tadellos funktioniert.
-- Ich hoffe man kann ungefähr erkennen um was es geht
Kann mir vieleicht von euch einer weiterhelfen?
Danke
Andreas
Eintrag erfolgte am: 11 Jun, 2002 um 21:21
funktioniert es einwandfrei.
Kann es sein das es mit dem Frame zu tun hat??
ach iwo, wie kommst du darauf? aber ja, zwischen frames und windows ist ein kleiner, aber feiner unterschied.
function Go1(x)
{
parent.frames[1].location.href ="show_all.pl?filter1="+x;
(...)
print '<select size=1 name="select0" onChange="Go(this.form.select0.options[this.form.select0.options.selectedIndex].value)">';
klappt
http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines
$JSCRIPT=<<END;
function NeuFenster1(X)
{
EditFenster1=
window.open("/cgi-bin/leg/aft/edit_db.pl?value=pwd&id="+X,"edit_db","width=300,height=450,screenX=200,screenY=100");
EditFenster1.focus();
}
Aufruf der Funktion:
print "<a href=javascript:NeuFenster1($ausgabe[0])>zeige Ergebnis in NeuFenster1</a>";
Javascript Fehler: NeuFenster1 is not defined >>>>?
http://selfhtml.teamone.de/javascript/objekte/window.htm#allgemeines
setz erstmal die adresse in anführungsstriche und probier es dann noch mal. das fällt mir so auf den erste blick ein und hindert die brauser bestimmt. du kannst entweder print '<a href="javascript:NeuFenster1($ausgabe[0]);">zeige Ergebnis in NeuFenster1</a>'; oder print "<a href=javascript:"NeuFenster1($ausgabe[0]);">zeige Ergebnis in NeuFenster1</a>"; verwenden. $ausgabe[0], was immer das ist, musst du dann irgendwo vor dem print rausbekommen, aber das ist ja scheinbar nicht das problem.
mfg
Eintrag erfolgte am: 11 Jun, 2002 um 21:21
welche zeitzone ist das denn? uk?
funktioniert es einwandfrei.
Kann es sein das es mit dem Frame zu tun hat??
ach iwo, wie kommst du darauf? aber ja, zwischen frames und windows ist ein kleiner, aber feiner unterschied.
function Go1(x)
{
parent.frames[1].location.href ="show_all.pl?filter1="+x;
(...)
print '<select size=1 name="select0" onChange="Go(this.form.select0.options[this.form.select0.options.selectedIndex].value)">';klappt
http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines
$JSCRIPT=<<END;
function NeuFenster1(X)
{
EditFenster1=
window.open("/cgi-bin/leg/aft/edit_db.pl?value=pwd&id="+X,"edit_db","width=300,height=450,screenX=200,screenY=100");
EditFenster1.focus();
}
Aufruf der Funktion:
print "<a href=javascript:NeuFenster1($ausgabe[0])>zeige Ergebnis in NeuFenster1</a>";
Javascript Fehler: NeuFenster1 is not defined >>>>?
http://selfhtml.teamone.de/javascript/objekte/window.htm#allgemeines
setz erstmal die adresse in anführungsstriche und probier es dann noch mal. das fällt mir so auf den erste blick ein und hindert die brauser bestimmt. du kannst entweder print '<a href="javascript:NeuFenster1($ausgabe[0]);">zeige Ergebnis in NeuFenster1</a>'; oder print "<a href=javascript:"NeuFenster1($ausgabe[0]);">zeige Ergebnis in NeuFenster1</a>"; verwenden. $ausgabe[0], was immer das ist, musst du dann irgendwo vor dem print rausbekommen, aber das ist ja scheinbar nicht das problem.
mfg
Eintrag erfolgte am: 11 Jun, 2002 um 21:21
welche zeitzone ist das denn? uk?
Hi MadMac,
danke für Deine Antwort, hab ich schon versucht, wie gesagt diese Funktion NeuFenster verwende ich in anderen Teilen schon, und da funktionierts einwandfrei, bei MSInternetEx. Netscape, und beim Konqueror sowieso, aber der ignoriert sogar diesen Fehler ;-)
Ich hab irgendwie das Gefühl es hat mit den zwei Frames zu tun, aber weis es nicht :-(
Andreas
$JSCRIPT=<<END;
function NeuFenster1(X)
{
EditFenster1=
window.open("/cgi-bin/leg/aft/edit_db.pl?value=pwd&id="+X,"edit_db","width=300,height=450,screenX=200,screenY=100");
EditFenster1.focus();
}
Hi MadMac,
danke für Deine Antwort, hab ich schon versucht, wie gesagt diese Funktion NeuFenster verwende ich in anderen Teilen schon, und da funktionierts einwandfrei, bei MSInternetEx. Netscape, und beim Konqueror sowieso, aber der ignoriert sogar diesen Fehler ;-)
Ich hab irgendwie das Gefühl es hat mit den zwei Frames zu tun, aber weis es nicht :-(
nabend,
was ist eigentlich
$JSCRIPT=<<END;
? hast du auch ein <script language="JavaScript">function NeuFenster1(x) {} </script> und ich sehe das nur nicht? hast du vielleicht einen link auf deine seite oder so?
das wäre toll. sonst könnte ich dir ein onclick="NeuFernster1()" anstelle des href anbieten und bei href schreibst du einfach href="#". das wäre auch was oder?
bis dahin
und bevor es jemand anders tut: http://learn.to/quote
$JSCRIPT=<<END;
function NeuFenster1(X)
{
EditFenster1=
window.open("/cgi-bin/leg/aft/edit_db.pl?value=pwd&id="+X,"edit_db","width=300,height=450,screenX=200,screenY=100");
EditFenster1.focus();
}
Hi MadMac,
danke für Deine Antwort, hab ich schon versucht, wie gesagt diese Funktion NeuFenster verwende ich in anderen Teilen schon, und da funktionierts einwandfrei, bei MSInternetEx. Netscape, und beim Konqueror sowieso, aber der ignoriert sogar diesen Fehler ;-)
Ich hab irgendwie das Gefühl es hat mit den zwei Frames zu tun, aber weis es nicht :-(
nabend,
was ist eigentlich
$JSCRIPT=<<END;
? hast du auch ein <script language="JavaScript">function NeuFenster1(x) {} </script> und ich sehe das nur nicht? hast du vielleicht einen link auf deine seite oder so?
das wäre toll. sonst könnte ich dir ein onclick="NeuFernster1()" anstelle des href anbieten und bei href schreibst du einfach href="#". das wäre auch was oder?
bis dahin
und bevor es jemand anders tut: http://learn.to/quote
$JSCRIPT=<<END;
ist eine Funktion von CGI.pm in Perl die einen fertigen Javascript- Tag liefert
Hab auch den Quelltext der Seite angschaut, scheint soweit zu passen.
Hmmm weis auch nicht, scheine nicht für Javascript geschaffen zu sein ;-)
das mit dem Button versuch ich mal, wobei da ja im Prinzip auch nix anderes passiert.
Was bedeutet denn im allgemeinen die Meldung "function NeuFenster not defined"?
Andreas
und bevor es jemand anders tut: http://learn.to/quote
$JSCRIPT=<<END;
ist eine Funktion von CGI.pm in Perl die einen fertigen Javascript- Tag liefert
Hab auch den Quelltext der Seite angschaut, scheint soweit zu passen.
ich dachte schon, dass du etwas davon veröffentlichst, ihn nicht nur anschaust.
Was bedeutet denn im allgemeinen die Meldung "function NeuFenster not defined"?
es heisst, das der brauser deine function nicht kennt/nicht finden kann und daher auch nicht ausführen kann. ich glaube nach wie vor, dass die funktion neufenster gar nicht existiert, zumindest nicht in der temporären datei, in der du es brauchst. wenn es in einer externen datei ist und das wäre für dich wohl das praktischte, dann musst du in deine temp. datei wenigstens print'<script language="JavaScript" src="deindateinname.js"></script>'; schreiben. anderenfalls eben auch die gesamte funktion, wie du willst.
und bevor es jemand anders tut: http://learn.to/quote
hallo,
$JSCRIPT=<<END;
ist eine Funktion von CGI.pm in Perl die einen fertigen Javascript- Tag liefert.
Funktion ja, aber "fertigen javascript-tag" nicht unbedingt. Wie soll denn so ein "tag" aussehen? Außerdem ist die Funktion, die du aufrufen willst, eine selbstgeschriebene, die im CGI-Modul einfach nicht drinstehen _kann_.
Hab auch den Quelltext der Seite angschaut, scheint soweit zu passen.
Das scheint mir nicht so.
Was bedeutet denn im allgemeinen die Meldung "function NeuFenster not defined"?
Hab ich dir weiter oben geantwortet.
übrigens: das mit http://learn.to/quote solltest du ernst nehmen
Christoph S.
hallo,
Aufruf der Funktion:
print "<a href=javascript:NeuFenster1($ausgabe[0])>zeige Ergebnis in NeuFenster1</a>";Javascript Fehler: NeuFenster1 is not defined >>>>?
man sollte solche Fehlerhinweise schon ernstnehmen. Wenn dwein Browser meint, die Funktion sei "nicht definiert", dann mußt du nachschauen, wo und wie du sie definiert hast. Da es sich um eine per "print"-Befehl generierte (temporäre?) Seite handelt, muß natürlich in deren Header-Bereich die Javascript-Funktion auch erstmal geschrieben werden.
Das läßt sich leider nicht überprüfen, weil du _dazu_ nicht genügend Code mitgeteilt hast
Grüße aus Berlin
Christoph S.