mehrdimensionale arrays
Ralph
- javascript
0 holger kuehne0 ralph
hallo liebe forumer,
leider hab ich ein problem mit javascript(sonst wäre ich auch nicht hier!).
ich versuche mit hilfe von einem mehrdimensionalen array werte zu übergeben und diese dann auslesen zu lassen. hier mein problem:
ich habe 9 kleine bilder die jeweils 4 bestimmte werte besitzen. durch anklicken eines kleinen bildes soll es durch ein grosses bild in einer bestimmten tabellenzelle ausgetauscht werden. die werte sollen dann in mehreren textfeldern ausgelesen werden. wie kann ich jetzt das bild austauschen und gleichzeitig die werte übergeben.
leider habe ich eine lösung bisher nicht im forum und in selfhtml gefunden. für einen lösungsansatz oder einen denkanstoss wäre ich euch echt dankbar.
mit freundlichen grüssen
ralph
hier noch mein quelltext.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Mode Spezial</title>
<script language="javascript">
gelb_o = new Image();
gelb_o.src = "bilder_modepuppe/gelb_o.gif";
rot_o = new Image();
rot_o.src = "bilder_modepuppe/rot_o.gif";
gruen_o = new Image();
gruen_o.src = "bilder_modepuppe/gruen_o.gif";
gelb_m = new Image();
gelb_m.src = "bilder_modepuppe/gelb_m.gif";
rot_m = new Image();
rot_m.src = "bilder_modepuppe/rot_m.gif";
gruen_m = new Image();
gruen_m.src = "bilder_modepuppe/gruen_m.gif";
gelb_u = new Image();
gelb_u.src = "bilder_modepuppe/gelb_u.gif";
rot_u = new Image();
rot_u.src = "bilder_modepuppe/rot_u.gif";
gruen_u = new Image();
gruen_u.src = "bilder_modepuppe/gruen_u.gif";
var info = new Array(9);
info[0] = new bild('gelb_o.gif',10,0,"Gap");
info[1] = new bild('rot_o.gif',50,1,"Boss");
info[2] = new bild('gruen_o.gif',100,2,"levis");
info[3] = new bild('gelb_m.gif',10,0,"H&M");
info[4] = new bild('rot_m.gif',50,1,"Sissley");
info[5] = new bild('gruen_m.gif',100,2,"Benetton");
info[6] = new bild('gelb_u.gif',10,0,"Esprit");
info[7] = new bild('rot_u.gif',50,1,"Nike");
info[8] = new bild('gruen_u.gif',100,2,"Gap");
function bild(bilder,preis,art,hersteller)
{
this.bilder = bilder;
this.preis = preis;
this.art = art;
this.hersteller = hersteller;
alert("Bildname: "+this.bilder +", Preis: "+this.preis+", Art: "+this.art+", Hersteller:"+this.hersteller);
}
function bildwechsel(dieses,jenes)
{
eval('window.document.images.' + dieses + '.src = ' + jenes + '.src');
}
</script>
</head>
<body onload="bild(bilder,preis,art,hersteller)">
<table border="0" width="350" height="250">
<tr>
<td><a href="#.htm" onclick="bildwechsel('oberteil','gelb_o')"><img src="bilder_modepuppe/eins_o.gif" border="0"></a></td>
<td><a href="#.htm" onclick="bildwechsel('oberteil','rot_o')"><img src="bilder_modepuppe/zwei_o.gif" border="0"></a></td>
<td><a href="#.htm" onclick="bildwechsel('oberteil','gruen_o')"><img src="bilder_modepuppe/drei_o.gif" border="0"></a></td>
<td><img src="bilder_modepuppe/gelb_o.gif" name="oberteil"></td>
</tr>
<tr>
<td><a href="#.htm" onclick="bildwechsel('mittelteil','gelb_m')"><img src="bilder_modepuppe/eins_m.gif" border="0"></a></td>
<td><a href="#.htm" onclick="bildwechsel('mittelteil','rot_m')"><img src="bilder_modepuppe/zwei_m.gif" border="0"></a></td>
<td><a href="#.htm" onclick="bildwechsel('mittelteil','gruen_m')"><img src="bilder_modepuppe/drei_m.gif" border="0"></a></td>
<td><img src="bilder_modepuppe/gruen_m.gif" name="mittelteil"></td>
</tr>
<tr>
<td><a href="#.htm" onclick="bildwechsel('unterteil','gelb_u')"><img src="bilder_modepuppe/eins_u.gif" border="0"></a></td>
<td><a href="#.htm" onclick="bildwechsel('unterteil','rot_u')"><img src="bilder_modepuppe/zwei_u.gif" border="0"></a></td>
<td><a href="#.htm" onclick="bildwechsel('unterteil','gruen_u')"><img src="bilder_modepuppe/drei_u.gif" border="0"></a></td>
<td><img src="bilder_modepuppe/rot_u.gif" name="unterteil"></td>
</tr>
</table>
<!--
<form name="auswertung" onsubmit="summe()">
<input type="submit" value="summe errechnen">
<input type="text" name="betrag" size="5" maxlength="5">
</form>-->
</body>
</html>
Hi
Eigentlich ist das ganz einfach. Du startest onclick eine Funktion die den bildwechsel und die Infoanzeige durchfuehrt.
z.B.
function anzeigen(dieses,jenes,infoNr){
eval('window.document.images.' + dieses + '.src = ' + jenes + '.src');
document.formular1.bildname.value=info[infoNr].bilder;
document.formular1.preis.value=info[infoNr].preis;
document.formular1.art.value=info[infoNr].art;
document.formular1.hersteller.value=info[infoNr].hersteller;
}
Dann musst du nur noch die Inputs definieren, wo Bildname, Preis, Art und Hersteller angezeigt werden und alles sollte klappen
Also ungefaehr so:
<form name="formular1">
Bildname:<input type="text" name="bildname" size="15" maxlength="15">
Preis:<input type="text" name="preis" size="15" maxlength="15">
Art:<input type="text" name="art" size="15" maxlength="15">
Hersteller:<input type="text" name="hersteller" size="15" maxlength="15">
</form>
Tschau Holger
danke, probier ich gleich aus. sieht jedenfalls sehr gut aus deine lösung. nochmals danke.
gruss ralph