Franz Moser: Preisberechnung mit JavaScript (dynamisches Formular)

Beitrag lesen

eine Bitte vorab: Du stellst selbst schon fest, dass dein Problem in erster Linie ein Javascript-Problem ist. Warum machst du es potentiellen Helfern dann komplizierter als nötig, indem du den PHP-Code postest, der das JS erzeugt?

--> Damit wollte ich den gesamten Code posten, um z.B. Probleme zu erkennen wie, dass ich das gar nicht in ein Array schreibe...

Diese Funktion wird durch den Eventhandler des input-Elements aufgerufen. Was repräsentiert "this" also in diesem Kontext? - Genau, das input-Elementobjekt selbst. Das hat zwar eine value-Eigenschaft, aber keine Eigenschaft namens menge_bestellt, die sich auch noch wie ein Array indizieren ließe. Mach dir ruhig eine Skizze über die Beziehungen der Objekte untereinander.

--> das this. habe ich eingefügt, um die Felder in dem Formular auf dieser Seite anzusprechen - aber ich merk schon, das ist vermutlich sinnlos und ich kann es weglassen^^ :-)

Außerdem lässt du dich verleiten, die Javascript-Objekte, die den input-Elementen entsprechen, als Arrays anzusprechen, nur weil du ihnen Namen gegeben hast, die eckige Klammern enthalten. Das ist falsch. Dein input-Element hat beispielsweise den Namen "preis[3]", das ist kein Array, in dem du das Element mit dem Index 3 adressieren kannst!

--> wie kann ich dann arrays erzeugen? ich will ja dann das Formualar absenden und die Daten wiederrum dynamisch, je nach dem wie viele Zeilen es sind, in eine Datenbank schreiben...

Wo oder in welchem Kontext wird diese Funktion aufgerufen? Vermutlich hat this auch hier nicht den Wert, den du erwartest.

--> Die Funktion steht im Kopf der PHP Seite, d.h. im HTML-Header-Tag, und wird ja von dem einzigen Formular auf dieser Seite aufgerufen.

Danke schonmal für Eure antworten!!!
Ich werde heute eure Tipps ausprobieren!

Eine weitere Frage noch: Stimmt es, dass disabled-Felder auch von JS nicht geändert werden können?

Viele Grüße
Franz