![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Master
![]() Registriert seit: 13.02.2001
Beiträge: 590
|
![]() 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 |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() |
![]() probiers folgendermaßen anzusteuern:
document.getElementByName['frame1'].src = "frame1a.html"; |
![]() |
![]() |
![]() |
#3 |
Master
![]() Registriert seit: 13.02.2001
Beiträge: 590
|
![]() Schoener Script... aber was soll ich damit machen, wie soll ich ihn einbinden?
Bitte um mehr Info dazu, Danke Peter |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() |
![]() 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 ![]() |
![]() |
![]() |
![]() |
#5 |
Master
![]() Registriert seit: 13.02.2001
Beiträge: 590
|
![]() 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 |
![]() |
![]() |
![]() |
#6 |
Inventar
![]() Registriert seit: 10.12.2001
Ort: Wien
Alter: 44
Beiträge: 2.651
|
![]() 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: Code:
Frame wechseln (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 |
![]() |
![]() |
![]() |
#7 | |
Inventar
![]() |
![]() Zitat:
![]() wenn die zuweisung document.getElementByName['frame1'].src = "frame1a.html"; einmal aufgerufen wird, dann steht sofort der neue inhalt drinnen. |
|
![]() |
![]() |
![]() |
#8 |
Master
![]() Registriert seit: 13.02.2001
Beiträge: 590
|
![]() 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 |
![]() |
![]() |
![]() |
#9 |
Inventar
![]() |
![]() 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 ![]() |
![]() |
![]() |
![]() |
#10 |
Inventar
![]() Registriert seit: 10.12.2001
Ort: Wien
Alter: 44
Beiträge: 2.651
|
![]() 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 |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|