Preis nach Auswahl im Formular berechnen (benötige Hilfe)

photografic101

Grünschnabel
Ich bin bei meiner Studienarbeit nun schon zum zweiten Mal an einem Punkt gelangt, an welchem ich nicht mehr weiterkomme.
Die Aufgabenstellung ist, dass man mehrere Pizzen auswählen kann und dann bei einem Klick auf dem Button "Jetzt berechnen" rechts in dem Feld neben
"Summe insgesamt in Euro" der Preis erscheint.
Ich habe einfach mal meinen Versuch hochgeladen, in der Hoffnung, dass mir jemand weiterhelfen kann.

http://home.arcor.de/photografic/PizzaFormular

Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte.
Vielen Dank im Vorraus :)
 
Hi,

Du hast in Deinem Dokument kein Element namens "preise", versuchst aber, darüber auf die Checkboxen zuzugreifen. Ebenso haben Deine Checkboxen weder id noch name-Attribut. Gib den Checkboxen entweder eindeutige IDs und greife per document.getElementById direkt darauf zu, oder benenne das Formular und verwende name, id der Checkboxen bzw. das getElementsByTagname-Array.

Gruß
.
 
Hi,
zuersteinmal vielen Dank für deine Hilfe :)

ich habe versucht etwas daran zu ändern, jedoch bin ich nicht viel mehr weitergekommen, da JavaScript ein ziehmlich neues Themengebiet für mich ist und ich leider ein paar Anläufe mehr brauche um dies zu verstehen ^-^'

Das mit dem Elementnamen habe ich (hoffentlich) verstanden, aber wo füge ich das name-Attribut ein? Vielleicht kannst du mir mit einem kleinen Beispiel Code auf die Sprünge helfen? *verzweifelt_bin*

(link: http://home.arcor.de/photografic/PizzaFormularsafety )
 
Hi,

name und id sind Attribute, mit deren Hilfe Elemente innerhalb eines Dokumentes
angesprochen werden können. Für die Checkbox der Pizza Napoli könnte das wie folgt
aussehen:

HTML:
<input type="checkbox" value="5.55" name="preis_napoli" id="napoli_id" />

JavaScript biete nun unterschiedliche Möglichkeite, wie auf das Element zugegriffen
werden kann.

Mit Hilfe der Methode getElementById:
Code:
alert(document.getElementById('napoli_id').value);
Gibt zum Beispiel den Text aus, der in value angegeben wurde - hier: 5.55.

Mit Hilfe der Methode getElementsByName:
Code:
alert(document.getElementsByName('preis_napoli')[0].value);
Gibt ebenfalls den Text aus, der in value angegeben wurde. Es muss aber ein Index angegeben
werden, da names innerhalb eines Dokumentes nicht eindeutig sein müssen.

Über das Formular:
- Falls es sich um das erste Formular im Dokument handelt, wäre auch folgender zugriff möglich.
Code:
alert(document.forms[0].preis_napoli_value);
- Falls das Formular ein name-Attribut besitzt (<form name="formBestellung">)
Code:
alert(document.formBestellung.preis_napoli.value);

Über das elements-Objekt im Zusammenspiel mit dem Formular (Formular hat einen Name):
Code:
alert(document.formBestellung.elements['preis_napoli'].value);

Es gibt noch weitere Möglichkeiten, die in SelfHTML nachgelesen werden können. Zur Lösung Deines
Problems sollten obige Varianten aber ausreichend sein.

Zur Vorgehensweise:
Voraussetzung: Im value-Attribut der Checkboxen steht der jeweilige Preis
  • Prüfe mit Hilfe der Eigenschaft checked ob eine Checkbox gewählt wurde
  • Addiere zum Ausgangswert den Zahlenwert des values
    Number(document.formBestellung.preis_napoli.value)
  • die Endsumme gibst du im entsprechenden Feld aus. Dieses Feld kannst Du ebenfalls mit
    Hilfe von name oder id ansprechen

Ciao
Quaese
 
Hi,
Vielen Dank für deine Hilfe :)
Die Beschreibung hat mir als JS-Anfänger sehr weitergeholfen.
Hab mich damit die ganze letzte Nacht beschäftigt und noch ein paar weitere Hinweise gefunden, welche sehr nützlich waren. Nun hab ich vieles umgeschrieben und nach vielen Fehlversuchen hab ichs endlich geschafft: http://home.arcor.de/photografic/PizzaFormular.htm

Vielen Dank nochmal. Ohne Hilfe hätte ich es warscheinlich gar nicht hinbekommen ;)
 

Neue Beiträge

Zurück