Wertübergabe an eine andere Funktion
Dirk2000
- javascript
Hallo liebe Spezialisten,
mir scheint ein dummer Anfängerfehler zu unterlaufen....
Habe eine Seite mit Layern. Diese Layer will ich visible oder hidden setzen. Kein Problem bei Bildchen.
Mittels Macromedia Dreamweaver hab ich ja die nachstehende Funktion MM_showHideLayers().
Jetzt will ich das show oder hidden-Argument mittels eines normalen Auswahlistenmenu übergeben.
Übergebe ich "document.Artikel.Auswahl.options[n].value" an die Funktion alert(), erhalte ich den String 'Layer1','','show','Layer2','','hide' als Rückmeldung. So wäre es richtig....
Übergebe ich jedoch den gleichen String als Parameterübergabe an die Funktion MM_showHideLayers(document.Artikel.Auswahl.options[n].value) passiert nichts... nichtmal ne Fehlermeldung :-).
Was läuft hier schief??
Schon mal vielen Dank
Dirk2000
<script language="JavaScript">
function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; }
}
function SelectMenu()
{
for(n=0; n<document.Artikel.Auswahl.length; n++)
if(document.Artikel.Auswahl.options[n].selected == true)
/*alert(document.Artikel.Auswahl.options[n].value);*/
MM_showHideLayers(document.Artikel.Auswahl.options[n].value);
}
</script>
<form name="Artikel">
<select name="Auswahl" onChange="SelectMenu()">
<option selected>select
<option value="'Layer1','','show','Layer2','','hide'">Tutankamon
<option value="'Layer2','','show','Layer1','','hide'">Reina Tiye
<option value="'Layer3','','show','Layer2','','hide'">Ibis</option>
</select>
</form>
Hi,
function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; }
}
Guck dir mal in Self das Kapitel über JS-Funktionen und
Parameter-Übergabe an.
function funktionsname(parameter1, parameter2)
{
alert(parameter1 + " " + parameter2);
}
mfg
CK1
Hi,
Bei
MM_showHideLayers(document.Artikel.Auswahl.options[n].value)
wird vermutlich nur _ein_ Argument übergeben, das ein langer String mit mehreren Kommas ist. Die Funktion braucht aber einzelne Argumente. Versuch mal
eval('MM_showHideLayers('+document.Artikel.Auswahl.options[n].value+')');
Außerdem sollte
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
^^^
sicherlich ein == sein.
Gruß
Steffen
Hallo Steffen, hallo Christian,
vielen dank für Eure Hilfe, es funzt.....
wusste doch dass ich da was übersehen hatte... nur was...
Also nochmals vielen Dank
Gruss Dirk
Hallo liebe Spezialisten,
mir scheint ein dummer Anfängerfehler zu unterlaufen....