WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   javascript (http://www.wcm.at/forum/showthread.php?t=117173)

mcs_ 30.11.2003 10:31

javascript
 
hi!
ich habe ein dropdown feld als navigation und wenn ich hier einen punkt auswähle wird mir in einem inlineframe eine neue seite angezeigt. wenn ich aber nun, um dem benutzer zu zeigen, welche seite er sich anzeigen lässt, ein <div> auf der hauptseite mit einer id ausstatte und dann nicht den value im div angezeigt haben will, sondern den text, der im dropdown steht (der text zwischen den option-tags), wie mache ich das?
und vorallem, wie spreche ich mit javascript das div-feld an um darin dann den text positionieren zu können? oder muss ich einen <a>-tag mit namen oder id versehen und kann dessen inhalt dann irgendwie per javascript beeinflussen?

flu

jak 30.11.2003 12:19

@option: einfach statt .value .text verwenden.
@iframe: Ich bin mir nicht ganz sicher, aber versuchs mit parent.document
@div-bereich: Man kann in JS jedes Element mit document.getElementById(Id) ansprechen. Das Problem ist nur, das es .text nur für Links, Options und textareas gibt.
Vielleicht kann man es ja mit .write machen?

Jak

<edit>
Da du von einem Link schreibst: in dem Fall wäre es dann Hier steht text
<script language="JavaScript">
document.getElementById("test").text="Willkommen";
</script>

</edit>

mcs_ 30.11.2003 14:53

thx, aber ich komm auf keinen grünen zweig. :(

jak 30.11.2003 20:30

Wie schaut den dein Code aus?

Jak

mcs_ 30.11.2003 23:10

http://er.mcshome.net/play.htm

das ist die site um die es geht. dort, neben dem dropdown für die playlists soll ein grauer bereich hin, wo jeweils das datum der im iframe angezeigten playlist hingeschrieben gehört.

thx, flu

jak 01.12.2003 19:56

So gehts: Neben dem Dropdown menü noch ein <iframe name="dateframe" src="leer.htm"></iframe> erstellen. Irgendwo an passender Stelle (vor dem option Zeug) den unten stehenden Quelltext einfügen und beim <option> das onChange=... durch onChange="change(this)" ersetzen.

Code:

<script language="JavaScript">
 function change(what){
        idx = what.selectedIndex;
        if (idx>0){
                top.playframe.location=what.options[what.selectedIndex].value;
                top.dateframe.location="leer.htm";
                top.dateframe.document.write(what.options[what.selectedIndex].text);
                what.selectedIndex=0;
        }
 }
</script>

Was das Ding macht: Ich habe nur deinen Quelltext in eine extra Funktion geschrieben, damits übersichtlicher wird. neu sind nur die beiden dateframe Zeilen. Die Zweite schreibt mittels document.write den text des option Feldes das geradde ausgewählt wurde ins iframe dateframe. Die Erste lädt die Standardseite ins iFrame, weil document.write einfach immer weiter schreibt. Nach drei Mal ändern der Seite hätte man also datum1datum2datum3 im iFrame stehen.

Geht doch eh so wie ichs weiter oben schon angedeutet habe ;)

Jak

mcs_ 02.12.2003 07:24

pfoa, thx, werd ich gleich heute abend ausprobieren. ich würde mich ja gerne mehr mit solchen geschichten wie js php my/sql etc. beschäftigen, aber im moment reicht die zeit einfach nicht. deshalb ein riesen DANKESCHÖN nochmal. :bier:

flu

mcs_ 03.12.2003 15:26

oje, im iframe wird nur jedes zweite mal der text angezeigt, also ganz funktionierts noch nicht.

http://er.mcshome.net/playtest.htm

flu


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

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