taschenrechner

Michi2610

Grünschnabel
Servus,

hab ein kleines Problem mit mit meinem taschenrechner,

bei der Fehlerkonsole in Mozilla Firefox kommt immer diese Fehlermeldung

Code:
Fehler: record has no properties
Quelldatei: 
file:///C:/Dokumente%20und%20Einstellungen/Michi/Anwendungsdaten/Mozilla/Firefox/Profiles/g5txmntm.default/extensions/%7B3112ca9c-de6d-4884-a869-9855de68056c%7D/lib/toolbar.js
Zeile: 443

was soll das ?

naja bin fast fertig und weiss nicht mehr weiter, hoffe ihr könnt mir helfen und sagen wo mein fehler liegt, hier der quelltext :


Schon mal Danke für eure Hilfe ;)

Javascript:
var ergebnis = 0;
var operation = 0;
var wert = "";
var operator = "";



function eingabe(input){
if(parseFloat(input) >= 0 && parseFloat(input) <= 9){
if(operation == 0){
document.form.ausgabe.value = document.form.ausgabe.value + input;
ergebnis = parseFloat(document.form.ausgabe.value);
}
if(operation == 1){
wert = parseFloat(wert) + parseFloat(input);
document.form.ausgabe.value = wert;
}
}
else if(input == "+" || input == "-" || input == "*" || input == "/"){
if(operation != 0 && wert != ""){
berechnung();
operation = 0;
wert = "";
}
operation = 1;
operator = input;
}

else if(input == "=" ){
berechnung();
operation = 0;
operator = "";
wert = "";
}


else if(input == "s"){
ergebnis = Math.sin(ergebnis);
document.form.ausgabe.value = ergebnis;
}


else if(input == "c"){
ergebnis = Math.cos(ergebnis);
document.form.ausgabe.value = ergebnis;
}


else if(input == "w"){
ergebnis = Math.sqrt(ergebnis);
document.form.ausgabe.value = ergebnis;
}
}

function berechnung(){
switch( operator ){
case "+" : ergebnis = ergebnis + wert;
document.form.ausgabe.value = ergebnis;
break;

case "-" : ergebnis = ergebnis - wert;
document.form.ausgabe.value = ergebnis;
break;

case "*" : ergebnis = ergebnis * wert;
document.form.ausgabe.value = ergebnis;
break;

case "/" : ergebnis = ergebnis / wert;
document.form.ausgabe.value = ergebnis;
break;
}
}

function del(){
document.form.ausgabe.value = ergebnis = 0;
operation = 0;
wert = "";
operator = "";
}
 
also ich drücke auf 1 dann auf 2 ---> im textfeld steht dann 12; ich drücke auf +, geht auch noch; aber sobald ich wieder auf eine zahl klicke um es zu addieren kommt dieser fehler;

lg Michi
 
Dein Problem wird vermutlich an deinem "parseFloat" bei
Code:
if(operation == 1)
liegen, da der Wert von der Variable "wert" NULL ist bzw. leer, bringt dir parseFloat NaN... Probiers mal ohne parseFloat!

EDIT:
---------------------------------------
Mach deine Variable standartmäßig 0 anstat ""...
also
Code:
var wert=0;
anstatt
Code:
var wert=""

dann kannst du auch parseFloat drin lassen!

Gruß!
 
Zuletzt bearbeitet:
Vielen Dank jetzt funkts ;)

hab den code so geändert :

if(operation == 1){
wert = wert + parseFloat(input);
document.form.ausgabe.value = parseFloat(wert); <---code geändert
}

weil dort wo der code geändert ist hat "wert schon eine zahl und so kann ich parseFloat einsetzen ;)


lg Michi
 

Neue Beiträge

Zurück