Debuggen ist gut. Habe allerdings so gut wie noch nie mit Java zu tun gehabt, eher mit anderen Programmiersprachen...
Ich wollte den Aufwand auch nicht so hoch haben, wollte einfach nur ein kleines Script entwerfen, daß es so komplex wird war nicht geplant.
Ich habe den Code also auf die Array-Variante umgestellt. Es fällt mir aber sofort auf, daß die price sel size wieder Martin zuwieder laufen ;-)
Also ich verstehe den Code auch nicht wirklich. Wie price = price[0] definiert wird z.B.
Müßte man data nicht erst mal beibiegen, das es die drei Sachen enthält, seine Größe usw.?
<script type="text/javascript">
function Preis () {
var data = {
"Salami" : {
"18cm" : "2.70",
"28cm" : "5.40"
},
"Tuna" : {
"18cm" : "3.50",
"28cm" : "6.80"
},
"Hawaii" : {
"18cm" : "3.55",
"28cm" : "6.88"
}
}; // data
var price = document.getElementByName("Preis1"); // ergibt ein Array
var sel = document.getElementByName("Sorte1"); // ergibt ein Array
var si = document.getElementByName("Size1"); // ergibt ein Array
if (price.length && sel.length && si.length)
{
// die Arrays waren nicht leer -> jeweils erstes Element nehmen
price = price[0];
sel = sel[0];
si = si[0];
// Daten auswerten (prüfen, ob die gewählten Werte in den Daten stehen)
if (data[sel.value] && data[sel.value][si.value])
{ price.value = data[sel.value][si.value]; } else
{ price.value = 0; }
}
}
</script>
Bei "var price = document.getElementByName("Preis1"); // ergibt ein Array"
kommt jetzt die Meldung "Objekt unterstützt diese Eigenschaft oder Methode nicht"
Wahrscheinlich brauche ich doch einen Debugger...
mfG Jürgen