Warenkorb berechnen

dastool

Erfahrenes Mitglied
Hi,
ich hab mal wieder ein Problem...

Wie im Titel schon erwähnt, soll ein Warenkorb "zusammengerechnet" werden.
Dazu hab ich mich an einen anderen Thread gerichtet JS Rechner
Scheinbar geht das, wenn ich die dezimalen im Textfeld eingeb.
Aber in meinem Fall muss es über eine Checkbox gehen.
Und nun das problem...
Sobald man das Ergebnis brechenen lassen will, taucht nur NaN auf.
Ich such shcon seid Stunden den Fehler, aber ich finde ihn nicht...
Bevor mir der Kopf platzt, kann mir eventuell einer von euch helfen...

Hier der komplette Code.
Es sollen ja 4 augen mehr sehen, als nur 2
Ich dank schon im Vorraus :)

Code:
<html>
<head>
<title>Warenkorb berechnen</title>
<script type="text/javascript">
function Ergebnis(){
var wert1, wert2, wert3, wert4, wert5, wert6;
wert1=document.Pizza.Eingabe1.value;
wert2=document.Pizza.Eingabe2.value;
wert3=document.Pizza.Eingabe3.value;
wert4=document.Pizza.Eingabe4.value;
wert5=document.Pizza.Eingabe5.value;
zahl1=parseFloat(wert1);
zahl2=parseFloat(wert2);
zahl3=parseFloat(wert3);
zahl4=parseFloat(wert4);
zahl5=parseFloat(wert5);
wert6=zahl1+zahl2+zahl3+zahl4+zahl5;
document.Pizza.Display.value=wert6;
}
</script>

</head>
<body bgcolor="#CC0000" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<div align="center"><font size="6">Warenkorb berechnen </font></div>
<div align="center">
  <p><font size="5">Bitte w&auml;hlen Sie aus, welche Pizzen wir Ihnen liefern 
    sollen:</font></p>
  <table width="492" cellspacing="5" cellpadding="5" border="1" height="230" bgcolor="#FFAF09">
    <form name="Pizza" onSubmit="Ergebnis();return false;">
      <tr> 
        <td width="66"> 
          <input type="checkbox" value="checkbox" name="Eingabe1" onClick="('5.55')">
        </td>
        <td width="144"><font size="4">Pizza Napoli</font></td>
        <td width="126"><font size="4">&euro; 5,55</font></td>
        <td rowspan="8" width="77"><img src="../bilder/aktion.jpg" width="146" height="200"></td>
      </tr>
      <tr> 
        <td width="66"> 
          <input type="checkbox" value="checkbox" name="Eingabe2" onClick="('5.95')">
        </td>
        <td width="144"><font size="4">Pizza Funghi</font></td>
        <td width="126"><font size="4">&euro; 5,95</font></td>
      </tr>
      <tr> 
        <td width="66"> 
          <input type="checkbox" value="checkbox" name="Eingabe3" onClick="('6.15')">
        </td>
        <td width="144"><font size="4">Pizza-Salami</font></td>
        <td width="126"><font size="4">&euro; 6,15</font></td>
      </tr>
      <tr> 
        <td width="66"> 
          <input type="checkbox" value="checkbox" name="Eingabe4" onClick="('7.45')">
        </td>
        <td width="144"><font size="4">Pizza Calzone</font></td>
        <td width="126"><font size="4">&euro; 7,45</font></td>
      </tr>
      <tr> 
        <td width="66"> 
          <input type="checkbox" value="checkbox" name="Eingabe5" onClick="('5.05')">
        </td>
        <td width="144"><font size="4">Gr&uuml;ner Salat</font></td>
        <td width="126"><font size="4">&euro; 5,05</font></td>
      </tr>
      <tr> 
        <td colspan="2"><font size="4">Summe gesamt in &euro;</font></td>
        <td width="126"> 
          <input type="text" name="Display" align="right">
        </td>
      </tr>
      <tr> 
        <td colspan="2"> <font size="4"> 
          <input type="button" name="Button" value="   Jetzt berechnen    " onClick="Ergebnis()">
          </font> </td>
        <td width="126"> 
          <input type="reset" name="Button2" value="   Zur&uuml;ck   ">
        </td>
      </tr>
      <tr> 
        <td colspan="2">&nbsp;</td>
        <td width="126">&nbsp;</td>
      </tr>
    </form>
  </table>
  <p><font size="5">Aktionswoche: Bestellen Sie drei Aktions-Pizzen zum Preis 
    von einer!<br>
    N&auml;here Informationen zu unserem Angebot erhalten Sie</font> <a href="aktion.htm" target="_blank"><font size="6">hier</font></a>.</p>
</div>
</form>
</body>
</html>
 
Hat geklappt, danke :)

Nurnoch eines... Daran hab ich nichtmehr gedacht.
Wie sieht das aus, wenn eine Checkbox "checked" ist?

Man riet mir das mit einer Schleife zu lösen... aber da bin ich nun föllig überfragt :/

Den Code hab ich dazu mitbekommen, aber ich versteh mal wieder kein ton...
Das ich das in den head reinsetzen muss, weiss ich noch, aber dann verlassen mich mal wieder alle Ideen :(
Code:
while(checkboxarray.next() = true)
{
     if (checkbox[i].checked == true)
     {
          saldogesamt += checkbox[i];
     }
     i++;

}
 
Hi,

wenn du die Checkboxen in einer Schleife durchlaufen und das Ergebnis berechnen willst, sollten
die Boxen alle den gleichen Namen besitzen.
Code:
function Ergebnis(){
  var objCheckbox = document.Pizza.elements["Eingabe[]"];
  var floatErgebnis = 0;

  // Alle Checkboxen mit dem Name "Eingabe[]" durchlaufen
  for(var intI=0; intI<objCheckbox.length; intI++){
    // Falls die Checkbox gewählt wurde
    if(objCheckbox[intI].checked == true){
      floatErgebnis += parseFloat(objCheckbox[intI].value);
    }
  }

  document.Pizza.Display.value = floatErgebnis;
}
Als Namen für die Checkboxen habe ich Eingabe[] gewählt (d.h. du musst Eingabe1, Eingabe2
usw. in Eingabe[] unbenennen). Damit ist auch eine Auswertung z.B. in PHP möglich.

Ciao
Quaese
 

Neue Beiträge

Zurück