Hallo Leute,
in der Schule sollten wir heute einen Rechner erstellen, in den wir unsere gesamten gefahrenen Kilometer eintragen sollten und den gesamten Benzinverbrauch. Daraufhin soll uns die html-Seite einen Wert in einem „input type=„text“-Feld“ ausgeben. Normalerweise mache ich nicht viel mit Javascript, wusste aber mehr als mein Lehrer … Das Problem in dem folgenden Quellcode ist, dass nichts im Textfeld ausgegeben wird, und weder mein Lehre noch ich wissen, wo der Fehler liegt. Wäre nett, wenn mir jemand den Fehler nennen könnte. Es ist glaube ich kein Großer.
Quellcode:
Berechner
function berechnen()
{
Ergebnis=(document.Rechner.kilometer.value)/(document.Rechner.verbrauch.value)*100;
es gibt einen Namenskonflikt zwischen dem function-Namen und dem input-feld-Namen „berechnen“, so dass die function nicht erkannt wird.
Syntax ist: document.forms. Formularname. Elementname.value - richtig wäre also: document.forms.Rechner.kilometer.value
Das gilt dann auch für die Zuweisung eines Wertes für ein Formularelement.
um mit der Zeichenkette aus einem input-Feld rechnen zu können, muss diese erst mit parseInt() oder parseFloat() in eine Zahl konvertiert werden
function berechnen(){ var km=parseFloat(document.getElementById(‚kilometer‘).value.replace(/,/,".")) var ltr=parseFloat(document.getElementById(‚verbrauch‘).value.replace(/,/,".")) var erg=((Math.round(ltr/km*10000))/100).toString(10) document.getElementById(‚Ergebnis‘).value=erg.replace(/./,",") }