WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 29.06.2004, 15:34   #1
P.St
Master
 
Registriert seit: 13.02.2001
Beiträge: 590


Standard Frames in Frameset mit JS steuern, aber wie?

Hallo,

ich habe da ein (kleines) Problem, und zwar: Ich moechte einfach den Inhalt der Frames in einem Frameset so aendern, dass einmal die Frames „frame1a“, „frame2a“ und „frame3a“ und zum anderen Mal die Frames „frame1b“, „frame2b“ und „frame3b“ angezeigt werden. Das soll abhaengig davon sein ob z.B. eine if-Abfrage „ja“ oder „nein“ ergibt.

Framesetbeispiel:

<html>

<head>
<title>Frameset</title>
</head>

<frameset cols="*,450,*">
<frame name="frame1" src="frame1a.htm">
<frame name="frame2" src="frame2a.htm">
<frame name="frame3" src="frame3a.htm">
</frameset>

<noframes></noframes>

</html>

AIm Beispiel sollen also src=“frame1a.htm“ u.s.w. zu src=“frame1b.htm“ u.s.w. geaendert werden. Ist das z.B. mit einer Variablen, Function (oder was weiss ich) die man im Frameset aufruft und die man zuerst mit JS gesetzt hat moeglich? Geht das ueberhaupt?

Meine Idee mit, das Problem so:

...
var frame1a="frame1a.htm"
...

...
frameset cols="*,450,*">
<frame name="frame1" src="javascript:parent.frame1a">
<frame name="frame2" src="frame2a.htm">
<frame name="frame3" src="frame3a.htm">
</frameset>
...

zu loesen scheitert daran, dass immer nur der Text "frame1a.htm" in der Frame reingeladen wird, aber nicht die htm-Seite aufgerufen wird... Wo mache ich den Fehler?

Vielen Dank und liebe Gruesse

Peter
P.St ist offline   Mit Zitat antworten
Alt 29.06.2004, 15:54   #2
flocky
Inventar
 
Registriert seit: 16.02.2002
Alter: 39
Beiträge: 3.880


flocky eine Nachricht über ICQ schicken
Standard

probiers folgendermaßen anzusteuern:

document.getElementByName['frame1'].src = "frame1a.html";
flocky ist offline   Mit Zitat antworten
Alt 30.06.2004, 11:16   #3
P.St
Master
 
Registriert seit: 13.02.2001
Beiträge: 590


Standard

Schoener Script... aber was soll ich damit machen, wie soll ich ihn einbinden?

Bitte um mehr Info dazu, Danke

Peter
P.St ist offline   Mit Zitat antworten
Alt 30.06.2004, 16:01   #4
flocky
Inventar
 
Registriert seit: 16.02.2002
Alter: 39
Beiträge: 3.880


flocky eine Nachricht über ICQ schicken
Standard

also du schreibst z.B.

if(wert==1)
{
document.getElementByName['frame1'].src = "frame1a.html";
}
if(wert==2)
{
document.getElementByName['frame1'].src = "frame1b.html";
}

ganz einfach alles klar? das heißt du steuerst mit dieser funktion direkt über die hierarchie bestimmte objekte an.
flocky ist offline   Mit Zitat antworten
Alt 01.07.2004, 10:23   #5
P.St
Master
 
Registriert seit: 13.02.2001
Beiträge: 590


Standard

Ich kappiers einfach nicht! Mit der Funktion:

document.getElementByName['frame1'].src="frame1a.htm"

steuere ich das Objekt 'frame1'. Gut, aber wie bringe ich den Script jetzt so hin, dass im "frame1" meines Framesets das Objekt mit dem Inhalt "frame1a.htm" (oder ...1b...) angezeigt wird? Ich bring's nicht zam, stehe scheinbar zu fest auf der Leitung!

Peter
P.St ist offline   Mit Zitat antworten
Alt 01.07.2004, 10:41   #6
ruffy_mike
Inventar
 
Registriert seit: 10.12.2001
Ort: Wien
Alter: 44
Beiträge: 2.651


Standard

Du machst eine Funktion draus:
Code:
<head>

...

<script type="text/javascript">
<!--

function wechsleFrames(wert)
{
 // Code von flocky
 if(wert==1)
 {
  document.getElementByName['frame1'].src = "frame1a.html";
 }
 if(wert==2)
 {
  document.getElementByName['frame1'].src = "frame1b.html";
 }
}
//-->
</script>

...

</head>
-------------------

Und dann brauchst du noch einen Link oder Button oder dergleichen, mit dem man die Funktion aufruft.

zB:

--------------
(JavaScript zusammenschreiben oben!)

Schau mal auf selfhtml.teamone.de vorbei, dort steht alles schön erklärt!
____________________________________
If the milk turns out to be sour, I ain't the kinda pussy to drink it.

"Every time I see an Alfa Romeo go by, I tip my hat" - Henry Ford
ruffy_mike ist offline   Mit Zitat antworten
Alt 01.07.2004, 11:20   #7
flocky
Inventar
 
Registriert seit: 16.02.2002
Alter: 39
Beiträge: 3.880


flocky eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von P.St
Ich kappiers einfach nicht! Mit der Funktion:

document.getElementByName['frame1'].src="frame1a.htm"

steuere ich das Objekt 'frame1'. Gut, aber wie bringe ich den Script jetzt so hin, dass im "frame1" meines Framesets das Objekt mit dem Inhalt "frame1a.htm" (oder ...1b...) angezeigt wird? Ich bring's nicht zam, stehe scheinbar zu fest auf der Leitung!

Peter
so wie ruffy_mike das schon beschrieben hat
wenn die zuweisung document.getElementByName['frame1'].src = "frame1a.html"; einmal aufgerufen wird, dann steht sofort der neue inhalt drinnen.
flocky ist offline   Mit Zitat antworten
Alt 01.07.2004, 13:30   #8
P.St
Master
 
Registriert seit: 13.02.2001
Beiträge: 590


Standard

Funkt net, i gib schoen langsam auf...

<html>

<head>

<title>Frameset</title>

<script language="Javascript">
<!--

wert=1

function wechsleFrames(wert) {

if(wert==1) {
document.getElementByName['frame1'].src="frame1a.htm";
}

if(wert==2) {
document.getElementByName['frame1'].src="frame1b.htm";
}

}

// -->
</script>

</head>

<frameset cols="*,450,*">
<frame name="frame1" src="javascript:wechsleFrames(1)">
<frame name="frame2" src="frame2a.htm">
<frame name="frame3" src="frame3a.htm">
</frameset>

<noframes></noframes>

</html>

Peter
P.St ist offline   Mit Zitat antworten
Alt 01.07.2004, 13:35   #9
flocky
Inventar
 
Registriert seit: 16.02.2002
Alter: 39
Beiträge: 3.880


flocky eine Nachricht über ICQ schicken
Standard

nanana so geht des ned
egal was du beim frame für eine source bei src angibst, die funktion document.getElementByName['frame1'].src="frame1a.htm"; ändert diese source.
das heißt du machst deine abfrage und führst je nach if-condition die funktion aus. die funktion bei src hinschreiben is falsch, weil ja sonst der return-wert von der funktion wechsleFrames dort steht und damit fangst ja nix an.

also was willst du überhaupt für eine abfrage machen?
bei dir wird ma ja ungeduldig
flocky ist offline   Mit Zitat antworten
Alt 01.07.2004, 15:21   #10
ruffy_mike
Inventar
 
Registriert seit: 10.12.2001
Ort: Wien
Alter: 44
Beiträge: 2.651


Standard

Die Funktion wechsleFrames(wert) muss extra aufgerufen werden.

Wenn du das in den src="...." Bereich schreibst, dann kann das nicht funktionieren. Dort muss eine .html-Datei sein.

Erklär' uns mal, wann genau und wie sich die Frames ändern sollen. Auf Knopfdruck, nach einer bestimmten Zeit,...

Beispiel:

In eine deiner Dateien (zB frame1a.html) kommt der Link rein wie oben beschrieben:

---------
Frame wechseln
---------

Die Funktion wechsleFrames(wert) braucht immer ein Argument ("wert" in dem Fall), mit dem du der Funktion sagst, welches Frameset geladen wird. Mögliche Werte sind hier '1' und '2', wobei eben frame1a... bzw. Frame2a... - je nachdem - geladen wird.

In die Datei frame2a.html kommt dann wieder diese Funktion, nur mit '1' als Parameter für "wert":

---------
Frame wechseln
---------

==> somit kommt man wieder auf das frame1a/b/c-Frameset zurück!
____________________________________
If the milk turns out to be sour, I ain't the kinda pussy to drink it.

"Every time I see an Alfa Romeo go by, I tip my hat" - Henry Ford
ruffy_mike ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:12 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag