Hallo TheBigBandy,
Javascript ist stets die richtige Anwendung bei Berechnungen. Sonst müssten die Seiten stets neu aufgebaut werden.
In Deinem Fall ist das Konzept einfach:
Du erstellst ein Formular mit den Feldern und benenne es entsprechend. Das Formular dient dabei nur der Zuordnung der Felder und evtl einer Weiterleitung der Daten - so gewünscht in eine andere Funktion (Datenbankeintrag, etc. per php). Das aber nur mal am Rande.
Grundprinzip:
Das Eingabefeld benennst Du meinentwegen „Eingabe“ und das Ausgabefeld „Ausgabe“.
In Deinem Fall aber bedarf es dreier zusätzlicher Felder, die Du hier vergleichen willst. In diesem Fall fügst Du drei Felder hinzu, die Du am Besten mit „vergleich1“ bis „vergleich3“ benennst. Denn daraus werden dann die weiteren Werte gezogen, die bei dem Aufrufen der Seite mit dem Tag versiehst. Ebenso verfährst Du mit den Fixwerten, die Du entweder als sichtbare Felder (type=text) oder unsichtbare Felder (type=hidden) in der Seite einbaust. Aber es gibt auch die Möglichkeit diese Fixwerte in die Funktion fest einzubauen, wodurch die Werte nicht aufgerufen werden müssen aus der Seite - sofern Du sie nicht immer wieder verändern willst in der Seite. Die Verghleichs-Werte werden dann herangezogen zur Berechnung in der Funktion.
Zwischen Head und Body fügst Du die Javascript (JS) - Funktion ein, die folgende Befehle enthält und in etwa folgendermaßen aufgebaut ist:
function berechnung()
{
//Variablendeklaration
var eingabe, ausgabe, vergl1, vergl2, vergl3, Fixwert1,Fixwert2, Fixbetrag;
//Variablenbelegung
eingabe=window.document.formularname.eingabe.value;
vergl1=window.document.formularname.vergleich1.value;
vergl2=window.document.formularname.vergleich2.value;
vergl3=window.document.formularname.vergleich3.value;
//Sofern Fixwerte aus dem Formular genommen werden sollen
Fixwert1=window.document.formularname.Fixwert1.value; Fixwert2=window.document.formularname.Fixwert2.value;
//Berechnung mit der switch-Funktion
switch(eingabe)
{
vergl1: ausgabe=(eingabe*Vergleich1)…
[…]
}
[…]
window.document.formularname.ausgabe.value=ausgabe;
}
Es liegt nun an Dir, zu entscheiden, wie Du vorgehen willst. Alle Eingaben, die Du normalerweise in Excel machst, um die Werte zu verändern, sollten in diesem Fall über Felder angezeigt werden, die dann auch per Javascript ausgelesen und berechnet werden. Statt eben der Bezeichnungen wie „C9“ sind hier dann eben die Variablen, die hier konkret belegt und berechnet werden. Am Ende wird dann das Ausgabefeld mit dem entsprechenden Wert belegt.
Zum Formatieren von Zahlenwerten kann man in Javascript folgende Funktion verwenden:
http://www.flashforum.de/forum/javascript-jquery/zah…
Kurz: meinWert.toFixed([Anzahl der Nachkommastellen])
So - nun hoffe ich, Dich nicht erschlagen zu haben und Dir etwas weiter geholfen zu haben. ;o)