Änderung in 1 Formularfeld ändert anderes Formular

Hallo, JS-Gurus!
Ich bin PHP-ler und mache selten etwas in JS, aber jetzt muß es halt sein.
Ich habe ein Formular, in dem 4 Eingabefelder sind. Bei einem Eintrag in eines dieser Felder soll sich der Wert eines 5. und 6. und 7 Feldes ändern. Ich kann das Formular jedoch nicht absenden zu diesem Zweck, da bei Formularversand ein PHP-Skript eine PDF Datei aus den übergebenen Werten erstellt.
Das müsste doch mit onblur berechnen(this.form) gehen, oder? Bei mir macht er das nicht.
Damit Ihr mich richtig versteht, die Änderung soll in den Feldern 5-7 angezeigt werden, sobald eine Änderung in den Feldern 1-4 gemacht wurde, die das Formular NICHT sendet (z.B. wenn man mit der Maus in ein anderes beliebiges Feld klickt)).
Gruß,
Rantanplan

Kristallkugel?

Ich habe ein Formular, in dem 4 Eingabefelder sind. Bei einem
Eintrag in eines dieser Felder soll sich der Wert eines 5. und
6. und 7 Feldes ändern.

Hallo Rantanplan,

geht es nicht etwas genauer? Was passiert mit Feld 5, 6 und 7 bei einem Eintrag in Feld 1? Was bei Feld 2, etc. pp.?
Wie sind die Felder von einander abhängig? Was kann in die Felder eingegeben werden? Ist es eine Berechnung? Ein Beispiel wäre schon nicht schlecht, denn so ins Blaue kann Dir keiner eine komplette Lösung geben.

Gruß
Christian

Hallo, Christian!
Das ist ein Rechnungsformular. In die Felder 1-4 können Nettobeträge eingegeben werden, die dann automatisch die Werte in den Formularfeldern 5 (gesammt-Netto-Rechnungsbetrag) 6 (Mwst-Betrag) und 7 (Endbetrag der Rechnung) anzeigen. Diese Felder werden dann wie gesagt an ein PHP-Script gesandt, welches die Datenbankeinträge in der Rechnungstabelle macht, und danach ein PDF-Dokument der Rechnung generiert, welches dann gespeichert wird und angezeigt wird.

Hilfe wäre sehr nett.

Gruß,

Rantanplan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

so in etwa

Demo-Rechnung\<!--
 var arrFormFields = new Array( "numInput1", "numInput2", "numInput3", "numInput4" )
 var numTax = 16;

 function f\_FormCalc( objField ) {
 var numValue;
 var numSum = 0;

 numValue = parseFloat( f\_CommaIsDecimalPoint( objField.value ) );
 numValue = Math.round( numValue \* 100) / 100;

 if (isNaN( numValue )) {
 objField.value = "";
 } else {
 objField.value = f\_GermanCurrency( numValue );
 }

 for ( strEntry in arrFormFields ) {
 numValue = parseFloat( f\_CommaIsDecimalPoint( document.forms.input[arrFormFields[strEntry]].value ) );
 if (! isNaN( numValue )) numSum += numValue;
 }

 document.forms.calc.sum.value = f\_GermanCurrency( numSum );
 document.forms.calc.tax.value = f\_GermanCurrency( Math.round( numSum \* numTax ) / 100 );
 document.forms.calc.total.value = f\_GermanCurrency( numSum + Math.round( numSum \* numTax ) / 100 );
 return;
 } // f\_FormCalc()

 function f\_CommaIsDecimalPoint( strValue ) {
 return strValue.replace(/\,/, ".");
 } // f\_CommaIsDecimalPoint()

 function f\_GermanCurrency( numValue ) {
 var strValue = String( numValue ).replace( /\./, "," );
 if ( strValue.indexOf(",") == -1 ) strValue = strValue.concat( "," );
 strValue = strValue.concat( "00" );
 strValue = strValue.substr( 0, strValue.indexOf(",")+3 );
 return strValue;
 } // f\_GermanCurrency
//--\>\<!--
 TT { font-size:14px; }
 INPUT.numeric, INPUT.numericBold {
 text-align:right;
 width:100px;
 font-size:14px;
 font-family:courier,monospaced;
 }
 INPUT.numericBold { font-weight:bold; }
--\>

 &nbsp;&nbsp;Zahl 1···: Euro

 + Zahl 2···: Euro

 + Zahl 3···: Euro

 + Zahl 4···: Euro
 
**= Netto····: Euro** 

 + MwSt. 16%: Euro
 **= Brutto···: Euro**