if verzweigung problem
naruto2507
- javascript
0 Alexander (HH)0 EKKi0 Cheatah
0 bleicher1 Der Martin
Hi Leute
Hab ein Problem mit den ganzen if fragen.
Wollte ein Euro in Dm oder Kronen berechner erstellen Klappt aber nicht so wie ich es mir vorstelle.
Bin jedenfalls soweit gekommen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>document</title>
<meta name="author" content="mein Name">
<meta http-equiv="Content-Style-Type" content="text/css">
<script type="text/javascript">
function Berechnung()
{
if(document.berechnung.Knopf[0].checked);
{
var dm, euro;
dm = document.berechnung.Eingabefeld.value;
euro = dm/1.95583;
document.berechnung.Ausgabefeld.value = euro;
}
else
{
if(document.berechnung.Knopf[1].checked);
{
var dm, euro;
euro = document.berechnung.Eingabefeld.value;
dm = euro*1.95583;
document.berechnung.Ausgabefeld.value = dm;
}
else
{
if(document.berechnung.Knopf[2].checked);
{
var DKK, euro;
euro = document.berechnung.Eingabefeld.value;
DKK = euro*7.44184;
document.berechnung.Ausgabefeld.value = DKK;
}
else
{
if(document.berechnung.Knopf[3].checked);
{
var SEK, euro;
euro = document.berechnung.Eingabefeld.value;
SEK = euro*9.2036;
document.berechnung.Ausgabefeld.value = SEK;
}
else
{
if(document.berechnung.Knopf[4].checked);
{
var NOK, euro;
euro = document.berechnung.Eingabefeld.value;
NOK = euro*7.8715;
document.berechnung.Ausgabefeld.value = NOK;
}
}
}
}
}
}
}
}
}
}
function init()
{
document.berechnung.reset()
document.berechnung.Eingabefeld.focus()
}
</script>
</head>
<!--***********************************************-->
<body onload=init()>
<!--***********************************************-->
<form name="berechnung">
<table border="0" width="100%" height="200px">
<tr>
<td><input type="text" name="Eingabefeld" maxlength="5"></td>
</tr>
<tr>
<td align="center"><input type="radio" name="Knopf">DM nach Euro</td>
<td align="center"><input type="radio" name="Knopf">Euro nach DM</td>
</tr>
<tr>
<td><input type="radio" name="Knopf">Euro nach DKK<img src="bilder/dk_080.gif" align="left"></td>
<td><input type="radio" name="Knopf">Euro nach SEK<img src="bilder/se_080.gif" align="left"></td>
<td><input type="radio" name="Knopf">Euro nach NOK<img src="bilder/no_080.gif" align="left"></td>
</tr>
<tr>
<td><input type="button" onclick="Berechnung()" value="Ausrechnen">
</tr>
<tr>
<td><input type="text" name="Ausgabefeld" maxlength="5" readonly></td>
</tr>
</table>
</form>
</body>
</html>
Bitte helft mir !!!
Tausend Dank schon mal im Voraus.
naruto2507
Moin Moin!
Hi Leute
Hab ein Problem mit den ganzen if fragen.
Wollte ein Euro in Dm oder Kronen berechner erstellen Klappt aber nicht so wie ich es mir vorstelle.
Bin jedenfalls soweit gekommen:
code ...
Bitte helft mir !!!
Tausend Dank schon mal im Voraus.
"Klappt nicht" ist keine Fehlerbeschreibung. Was erwartest Du, was passiert stattdessen? Inbesondere bei Javascript: Was steht in der Fehlerkonsole?
Alexander
Mahlzeit naruto2507,
Hab ein Problem mit den ganzen if fragen.
Wollte ein Euro in Dm oder Kronen berechner erstellen Klappt aber nicht so wie ich es mir vorstelle.
Das mag daran liegen, dass Deine Vorstellung nicht ganz der gültigen Javascript-Syntax entspricht und der Javascript-Interpreter Deines Browsers darüber hinaus auch nicht weiß, was Du Dir vorstellst.
Fällt Dir z.B. ein Unterschied zwischen Deinem Code
if(document.berechnung.Knopf[0].checked);
{
und den Beispielen <http://de.selfhtml.org/javascript/sprache/bedingt.htm#if_else@title=im entsprechenden Kapitel von SELFHTML> auf?
Bitte helft mir !!!
Hilf Dir selbst, dann hilft Dir Gott(*).
(*) Alternativ eine der semi-göttlichen Instanzen aus diesem Forum.
MfG,
EKKi
Hi,
Hilf Dir selbst, dann hilft Dir Gott(*).
hieraus ergibt sich trivial die Schlussfolgerung: Ich bin Gott.
[dsf 5.11]
Cheatah, der <div>ine
Grüße,
Hallo,
Hab ein Problem mit den ganzen if fragen.
du hast vor allem ein Problem mit der Syntax der if-Anweisung. Und ein paar Verständnisprobleme mit HTML nebenbei.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
Warum machst du mit XML-Namespaces rum, obwohl du direkt drüber behauptest, HTML zu schreiben und nicht XHTML?
if(document.berechnung.Knopf[0].checked);
"Wenn document.berechnung.Knopf[0] gecheckt ist, dann ... ach, nichts."
Da wird ein Ausdruck ausgewertet, und wenn der wahr ist, wird nichts gemacht. Die Anweisung hast du ja mit dem Semikolon schon abgeschlossen. Das ist syntaktisch nicht sinnvoll, aber erlaubt. Deswegen wird JS auch keinen Fehler melden.
{
var dm, euro;
dm = document.berechnung.Eingabefeld.value;
euro = dm/1.95583;
document.berechnung.Ausgabefeld.value = euro;
}
Und danach folgt ein Anweisungsblock, der wieder von der if-Anweisung unabhängig ausgeführt wird. Dass er als Block in geschweiften Klammern notiert ist, ist syntaktisch auch wieder zulässig, daher wirst du auch hier keine Fehlermeldung kriegen.
else
Spätestens hier aber schon. Die if-Anweisung, zu der das else eigentlich gehören sollte, ist ja mit dem Semikolon schon längst abgeschlossen und beendet. Das else steht also ohne Zusammenhang frei im Raum.
if(document.berechnung.Knopf[1].checked);
Dito.
if(document.berechnung.Knopf[2].checked);
Dito. Und noch ein paarmal.
function init()
{
document.berechnung.reset()
document.berechnung.Eingabefeld.focus()
}
Wenn du schon oben nach dem if-Statement ein Semikolon setzt, wo es von der Aussage her falsch ist, warum setzt du dann hier keine, wo's sinnvoll wäre?
Zwingend nötig ist es nicht - wenn die Anweisung bis zum Zeilenende formal sinnvoll interpretierbar ist, kann man das Semikolon in Javascript auch weglassen. Aber warum? Andere Sprachen mit ähnlicher Syntax (PHP, C) fordern es auch zwingend.
<body onload=init()>
Attributwerte müssen in HTML in Anführungszeichen stehen, wenn sie nicht ausschließlich aus Buchstaben und Ziffern bestehen. Im XHTML sogar immer.
Ciao,
Martin