Problem mit rechnen

Hallo!

Ich habe ein Problem mit JavaScript:
Mein Script-Code ist:

function rechnen() {
var zahl1=document.form1.feld1.value;
var zahl2=document.form1.feld2.value;
var rechenzeichen=document.form1.select1;
var was="";
var ergo=zahl1 + was + zahl2;
if (rechenzeichen == „plus“) {
was="+";
}
if (rechenzeichen == „minus“) {
was="-";
}
if (rechenzeichen == „mal“) {
was="*";
}
if (rechenzeichen == „durch“) {
was="/";
}
if (form1.feld1.value%1 != 0) {
alert("’" + zahl1 + „’ ist keine Zahl!“);
}
if (form1.feld2.value%1 != 0) {
alert("’" + zahl2 + „’ ist keine Zahl!“);
}
if (form1.feld1.value == „“ && form1.feld2.value == „“) {
alert(„Zwei Zahlen müssen Sie aber schon angeben!“);
}
if (form1.feld1.value == „1“ && form1.feld2.value == „1“) {
var eing1=prompt(„Man! Ist das schwer! Grübel … Wissen Sie es???“, „“);
}
if (eing1 == „1“) {
alert(„Mann, Ihr Rechenvermögen möchte ich haben!!!“);
}
document.write("Ihre Rechnung: " + zahl1 + " * " + zahl2 + „Ihre Aufgabe: " + zahl1 + " * " +
zahl2 + " = " + ergo + "
“)
}

Dann habe ich noch ein Formular erstellt:

±•:

Nun will ich in dem JS-Code bei der Variable ‚ergo‘ das erste Textfeld mit dem 2. verrechnen. Dabei soll das Rechenzeichen das aus ‚select1‘ sein.
Nun, so, wie ich das gemacht habe, ist es garantiert nicht richtig.

Kann mir jemand helfen???

Danke im Voraus!

Jonathan

Ups! Da sind ein Paar Sachen automatisch fett geworden.
Hat nix zu bedeuten.

Jonathan

> function rechnen() {  
> var zahl1=document.form1.feld1.value;  
> var zahl2=document.form1.feld2.value;  
> var rechenzeichen=document.form1.select1;  
> var was="";

var ergo=0;



> var ergo=zahl1 + was + zahl2;

das macht keinen sinn





> if (rechenzeichen == "plus") {  
> was="+";

ergo=zahl1+zahl2;


> }


lieber else if verwenden

elseif (rechenzeichen == "minus") {


> was="-";

ergo=zahl1-zahl2;


> }


bei / und \* das selbe



> if (form1.feld1.value%1 != 0) {  
> alert("'" + zahl1 + "' ist keine Zahl!");  
> }


lieber wieder elseif verwenden sonst hast du vlt mehrere fehler meldungen nancheinander

else if (form1.feld2.value%1 != 0) {


> alert("'" + zahl2 + "' ist keine Zahl!");  
> }

else if (form1.feld1.value == "" && form1.feld2.value == "") {


> alert("Zwei Zahlen müssen Sie aber schon angeben!");  
> }

else if (form1.feld1.value == "1" && form1.feld2.value == "1") {


> var eing1=prompt("Man! Ist das schwer! Grübel ..... Wissen Sie  
> es???", "");  
> }

else if (eing1 == "1") {


> alert("Mann, Ihr Rechenvermögen möchte ich haben!!!");  
> }


document.getElementById("ausgabe").innerHTML=("Ihre


> Rechnung: " + zahl1 + " \* " + zahl2 +  
> "Ihre Aufgabe: **" +  
> zahl1 + was + zahl2 + " = " + ergo)  
> }  
>   
> Dann habe ich noch ein Formular erstellt:  
>   
>   
>   
> +  
> -  
> •  
> 
> >**




> Nun will ich in dem JS-Code bei der Variable 'ergo' das erste  
> Textfeld mit dem 2. verrechnen. Dabei soll das Rechenzeichen  
> das aus 'select1' sein.  
> Nun, so, wie ich das gemacht habe, ist es garantiert nicht  
> richtig.  
>   
> Kann mir jemand helfen???  
>   
> Danke im Voraus!  
>   
> Jonathan

Ich habe dir mal die groben Fehler entfehrnt
Hoffe es geht so

Hallo Jonathan!

mit der Methode eval() lässt sich das ganz einfach und ohne viele If-Abfragen berechnen.

<!–
function rechnen (obj) {
with(obj) {
if(isNaN(feld1.value) || isNaN(feld2.value) || !feld1.value || !feld2.value) {
alert(‚Keine zwei Zahlen eingegeben!‘);
return false;
}
if ( select1.value == „/“ && feld2.value == „0“) {
alert(‚Division durch 0 nicht möglich!‘);
return false;
}
feld3.value = eval(feld1.value + select1.value + feld2.value);
}
return false;
}
//–>

±•:

Gruß Gernot