• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Pproblem mit javascript

giz183

Spiele-Novize/Novizin
Registriert
01.06.2005
Beiträge
195
Reaktionspunkte
0
ich lerne grad javascript und hab ein problem:
ich will das ich 3 mal nach einer zahl gefragt werde wenn ich das dokument lade.nach den 3 eingaben soll mir das produkt der 3 zahlen angezeigt werden.bis hier klappt auch alles.aber:desweiter soll es einen "ergebnis"-button geben(der auch da ist) und wenn ich draufklicke soll mir das ergebnis noch mal angezeigt werden.wenn ich draufklicke passiert nix, unten wird angezeigt:"fehler auf der seite". wäre schön wenn mir einer meinen code ausbessern könnte, bzw. erklärt wo der fehler is. hier das was ich geschrieben hab(am besten selbst in ein html dokument kopieren und selber probieren damit ihr wisst was ich meine):

<head>

<script language="JavaScript" type="text/javascript">
<!--

function x() {
var x,y,c,z;
x=prompt("Zahleneingabe 1","");
y=prompt("Zahleneingabe 2","");
c=prompt("Zahleneingabe 3","");
z=(Number(x)*Number(y)*Number(c));
alert('Das Produkt ist: '+(z));
}

//-->
</script>

</head>

<body onload="x()">

<input type="button" value="Ergebnis" onClick="alert(z)">

</body>
 
die variable z ist wie die anderen auch nicht global, sondern nur in der funktion definiert. nach beenden der funktion gehen die variablen verloren, du kannst also nicht danach noch auf ihren inhalt zugreifen. eine moeglichkeit waere
Code:
var z; // global definiert
function x() {
var x,y,c;
x=prompt("Zahleneingabe 1","");
y=prompt("Zahleneingabe 2","");
c=prompt("Zahleneingabe 3","");
z=(Number(x)*Number(y)*Number(c)); // schreibt in global definierte variable
alert('Das Produkt ist: '+(z));
}

oder gleich

Code:
<script type="text/javascript">
var x,y,c,z; // alle variablen global, code wird beim laden der seite ausgefuehrt
x=prompt("Zahleneingabe 1","");
y=prompt("Zahleneingabe 2","");
c=prompt("Zahleneingabe 3","");
z=(Number(x)*Number(y)*Number(c));
alert('Das Produkt ist: '+(z));
</script>
</head>
<body>
 
danke, so hats geklappt! :-)
werd bestimmt noch öfter solche fragen haben, dann meld ich mich wieder!
 
Zurück