• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Taschenrechner mit JavaScript

Petrucha

New member
Hallo liebe Community!

Momentan machen wir in der Schule ein JavaScript Projekt in dem wir einen Taschenrechner erstellen sollen. Ich habe ein Basis-Layout mit einem Textfeld usw. erstellt nur will es irgendwie mit den JavaScript Funktionen nicht klappen. Wenn ich auf einen der Buttons klicke soll die jeweilige zahl in dem Textfeld erscheinen und eine bestimmte Variable überschreiben. Hier mal der Code:

HTML:
<html>

<body>
<form name="formText">
<input type="text" name="text" value="|" size="10">
</form>
<form name="Row1">
<input type="button" name="eins" value="1" width="5" size="5" onclick="eins ()">
<input type="button" name="zwei" value="2" width="5" size="5" onclick="zwei ()">
<input type="button" name="drei" value="3" width="5" size="5" onclick="drei ()">
</form>
<form name="Row2">
<input type="button" name="vier" value="4" width="5" size="5" onclick="vier ()">
<input type="button" name="fünf" value="7" width="5" size="5" onclick="fünf ()">
<input type="button" name="sechs" value="6" width="5" size="5" onclick="sechs ()">
</form>
<form name="Row3">
<input type="button" name="sieben" value="7" width="5" size="5" onclick="sieben ()">
<input type="button" name="acht" value="8" width="5" size="5" onclick="acht ()">
<input type="button" name="neun" value="9" width="5" size="5" onclick="neun ()">
</form>
<form name="symbol">
<input type="button" name="plus" value="+" width="5" size="5" onclick="plus ()">
<input type="button" name="minus" value="-" width="5" size="5" onclick="minus ()">
<input type="button" name="geteilt" value="/" width="5" size="5" onclick="geteilt ()">
<input type="button" name="mal" value="*" width="5" size="5" onclick="mal ()">
<form>




<script>

var Zahl1;
var Zeichen;
var Zahl2;
var Symbol = "0";

function eins () {

document.formText.text.value =
 document.formText.text.value +
 "1";

 if var Symbol == "0" {
 var Zahl1=
 var Zahl1 +
 "1";
 
 if var Symbol == "1" {
 var Zahl1=
 var Zahl1 +
 "1";
 
 }
 
}

function zwei () {

document.formText.text.value =
 document.formText.text.value +
 "2";
 
 if var Symbol = "0" {
 var Zahl1=
 var Zahl1 +
 "2";
 
 if var Symbol = "1" {
 var Zahl1=
 var Zahl1 +
 "2";
}

function drei () {

document.formText.text.value =
 document.formText.text.value +
 "3";
 
 if var Symbol = "0" {
 var Zahl1=
 var Zahl1 +
 "3";
 
 if var Symbol = "1" {
 var Zahl1=
 var Zahl1 +
 "3";
}

function vier () {

document.formText.text.value =
 document.formText.text.value +
 "4";
 
 if var Symbol = "0" {
 var Zahl1=
 var Zahl1 +
 "4";
 
 if var Symbol = "1" {
 var Zahl1=
 var Zahl1 +
 "4";
}

function fünf () {

document.formText.text.value =
 document.formText.text.value +
 "5";
 
 if var Symbol = "0" {
 var Zahl1=
 var Zahl1 +
 "5";
 
 if var Symbol = "1" {
 var Zahl1=
 var Zahl1 +
 "5";
}

function sechs () {

document.formText.text.value =
 document.formText.text.value +
 "6";
 
 if var Symbol = "0" {
 var Zahl1=
 var Zahl1 +
 "6";
 
 if var Symbol = "1" {
 var Zahl1=
 var Zahl1 +
 "6";
}

function sieben() {

document.formText.text.value =
 document.formText.text.value +
 "7";
 
 if var Symbol = "0" {
 var Zahl1=
 var Zahl1 +
 "7";
 
 if var Symbol = "1" {
 var Zahl1=
 var Zahl1 +
 "7";
}

function acht () {

document.formText.text.value =
 document.formText.text.value +
 "8";
 
 if var Symbol = "0" {
 var Zahl1=
 var Zahl1 +
 "8";
 
 if var Symbol = "1" {
 var Zahl1=
 var Zahl1 +
 "8";
}

function neun () {

document.formText.text.value =
 document.formText.text.value +
 "9";
 
if var Symbol = "0" {
 var Zahl1=
 var Zahl1 +
 "9";
 
 if var Symbol = "1" {
 var Zahl1=
 var Zahl1 +
 "9";
}
 
function plus () {

document.formText.text =
document.formText.text +
"+"

var Symbol = "1";
var Zeichen = "+";
}

function minus () {

document.formText.text =
document.formText.text +
"-"

var Symbol = "1";
var Zeichen = "-";
}

function geteilt () {

document.formText.text =
document.formText.text +
"/"

var Symbol = "1";
var Zeichen = "/";
}

function mal () {

document.formText.text =
document.formText.text +
"*"

var Symbol = "1";
var Zeichen = "*";
}
function Gleich () {

 if var Zeichen ="+" {
 
    document.formText.text.value = "";
	document.formText.text.vlaue =
	parseInt(var Zahl1) +
	parseInt(var Zahl2) 
	
 }
 if var Zeichen ="-" {
 
    document.formText.text.value = "";
	document.formText.text.vlaue =
	parseInt(var Zahl1) -
	parseInt(var Zahl2) 
	
 }
 if var Zeichen ="/" {
 
    document.formText.text.value = "";
	document.formText.text.vlaue =
	parseInt(var Zahl1) /
	parseInt(var Zahl2) 
	
 }
 if var Zeichen ="*" {
 
    document.formText.text.value = "";
	document.formText.text.vlaue =
	parseInt(var Zahl1) *
	parseInt(var Zahl2) 
	
 }
}



</script>

<input type=button value="=" onclick="Gleich()">

</body>

</html>

hoffe ,dass sich irgendwer die Zeit nimmt und meinen Code durchliest um mir zu helfen :rolleyes:

MFG Petrucha
 
Zuletzt bearbeitet von einem Moderator:
Der Code sieht unvollständig aus. Wo ist der DOCTYPE? Hast du mit F12 die Fehlerkonsole deines Browsers offen? Nein? Bitte immer öffnen, bei der Erstellung von Webseiten! Was steht denn drin?
 
-parseInt(var Zahl1) / parseInt(var Zahl2) ist falsch, richtig ist parseInt(Zahl1, 10) / parseInt(Zahl2, 10)
Außerdem: mit einem Taschenrechner rechne ich doch vor allem Fließzahlen, keine Ganzzahlen...

-die if-Abfragen sind falsch; dort führst du keinen Vergleich durch, sondern weist „Zeichen” den Wert „*” zu: if var Zeichen ="*" {
korrekt ist: if(Zeichen === "*"){

PS: das gesamte Skript ist unelegant - für jede Zahl eine eigene Funktion zu erstellen, ist unnötig; das kann man viel eleganter mit entsprechenden Parametern lösen...
 
Zurück
Oben