Summen von Textfeldern

Hallo,

so nun habe ich den Post in das richtige Unterforum gestellt, sorry für den Doppelpost -_-

ich habe diese Frage bereits im Java-Forum.org gestellt, mich dann aber aufgrund der Empfehlung eines Nutzers hier angemeldet, weil wohl viele von dort nach hierhin abgewandert sind.
Also ich bin absoluter Beginner im Sachen Java und nutze es für Formulare, die ich mit Latex geschrieben habe. Ich habe hier eine kleine Summenfunktion geschrieben, die so aussieht:


function calcin() {this.getField("sumin").value =
    (parseFloat(this.getField("in1").value) || 0) +
    (parseFloat(this.getField("in2").value) || 0) +
    (parseFloat(this.getField("in3").value) || 0) +
    (parseFloat(this.getField("in4").value) || 0);
   }

Das funktioniert tadellos aber nur, wenn die Felder in1-4 auch existieren. Die Funktion soll aber auch rechnen, wenn z.B. nur zwei Felder in1 und in2 existieren, damit ich sie nicht jedes Mal anpassen muss.

Man hat mir schon den Tipp gegeben erst zu prüfen ob die Felder existieren und dann zu rechnen, ok so weit so gut. Geht das mit If Then Else?

Wie gesagt, bin leider absoluter Anfänger

Ich hoffe, dass mir jemand helfen kann, wär echt nett

Viele Grüße

Thorsten

Hallo, freut mich, dass du das richtig Forum gefunden hast. Ich weiß leider nicht ob folgende Lösung „gut“ ist, allerdings funktioniert sie. :slight_smile:


<html>
<head>
<title>Titel</title>
<script type="text/javascript">
function calcin() {
	var sum = 0;
	for(var i=1;i<=4;i++){
		var elem = document.getElementById("in"+i);		
		if(elem != null){
			sum += parseFloat(elem.value);
		}
	}	
	document.getElementById("sumin").value = sum;
   }

</script>

</head>
<body>

<input type="text" id="in1" value="1" />
<!--<input type="text" id="in2" value="2" />-->
<input type="text" id="in3" value="3" />
<input type="text" id="in4" value="4" />
<input type="text" id="sumin" value="5" />
<input type="button" value="calc" onClick="javascript:calcin()" />

</body>
</html>

Für deine nächste Frage bitte ich dich, den HTML-Code bzw. eine Version zu posten, sodass man es gleich ausprobieren kann.

Vielen Dank für die Antwort, an den HTML-Code werde ich das nächste mal denken, sorry
Den Code probiere ich morgen aus und werde berichten, ob es geht …

Herzliche Grüße

Thorsten

Wollte nur kurz rückmelden, dass der Code von Sunshine wunderbar funktioniert hat!

Vielen Dank für die Hilfe!

Herzliche Grüße

Thorsten