• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mein Euro/Dollar umrechner funktz nicht

Status
Für weitere Antworten geschlossen.

Feld

Neues Mitglied
Hallo alle zusammen,
ich habe ein Problem mit meinem Euro/Dollar und Dollar/Euro umrechner.
Gebe ich eine Zahl ein und will sie von Euro nach Dollar oder umgekehrt umrechnen erscheint bei mir keine Ausgabe des Betrages.
Könnte Ihr mir vielleicht sagen wo der Fehler begraben ist?
Bei den Umrechnungswerten handelt es sich um selbst erfundene Werte.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[URL]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/URL]">
<html xmlns="[URL="http://www.w3.org/1999/xhtml"]XHTML namespace[/URL]">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <title></title>
  <script language="JavaScript">
function rechnen(f){
var betrag = f.betrag.value
if (betrag.indexOf(",")!=-1)
betrag = betrag.substring(0, betrag.indexOf(",")) + "." + betrag.substring(betrag.indexOf(","), betrag.length)
if (f.rechnen[0].checked)
f.ausgabe.value = 1.55 * betrag
else
f.ausgabe.value = betrag / 1.55
}
</script>
</head>
<body>
<form>
<input type="Text" name=betrag><br>
<input type="radio" name="rechnen" value="EuroDollar" />Euro nach Dollar<br>
<input type="radio" name="rechnen" value="DollarEuro" />Dollar nach Euro<br>
<input type="button" value="rechnen" onClick="rechnen(this.form)" />
<input type="text" name="ausgabe">
</body>
</html>

MfG
Feld
 
Hallo Feld,

du hast zwei Formelemente (Checkboxen) genauso bennant wie deine Funktion und somit versucht JavaScript auf diese zuzugereifen. Da dies aber keine Funktionen sind, wirft der Debugger einen Fehler.

Entweder benennst du die Formelemente um oder die Funktion, dann funktioniert die Funktion ohne Probleme:

Also:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="XHTML namespace">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <title></title>
  <script language="JavaScript">
function rechnen(f){
var betrag = f.betrag.value
if (betrag.indexOf(",")!=-1)
betrag = betrag.substring(0, betrag.indexOf(",")) + "." + betrag.substring(betrag.indexOf(","), betrag.length)
if (f.type[0].checked)
f.ausgabe.value = 1.55 * betrag
else
f.ausgabe.value = betrag / 1.55
}
</script>
</head>
<body>
<form>
<input type="Text" name=betrag><br>
<input type="radio" name="type" value="EuroDollar" />Euro nach Dollar<br>
<input type="radio" name="type" value="DollarEuro" />Dollar nach Euro<br>
<input type="button" value="rechnen" onClick="rechnen(this.form)" />
<input type="text" name="ausgabe">
</body>
</html>
Grüße

Phoenix
 
Mein Euro/Dollar umrechner funtkz nicht

Hallo Phoenix1986
Vielen Dank Phoenix1986 für deine sehr gute Hilfe.
Jetzt funktioniert es.

MfG
Feld
 
@ Bleistift:
Halt dich mit deinem Halbwissen bitte zurück.

JavaScript als Sprache braucht keinesfalls Semikolons (";").
Sie dienen in JavaScript lediglich dazu, einen Befehl abzuschließen um evtl einen weiteren Befehl in der selben Zeile anzuhängen.
Wenn man jedoch pro Befehl eine neue Zeile nimmt (wird der Übersicht halber eigentlich immer gemacht) sind die Semikolons völlig sinnfrei.

Die Klammern ({}) sind nur dazu da, um Blöcke einzufassen. Wird nach einer If / Else Bedingung jedoch nur ein Befehl ausgeführt, so sind die {} nur optional. Bessere Kritik hieran wäre eine bessere Einrückung gewesen, keinesfalls aber die Klammern.
Code:
if (f.type[0].checked)
    f.ausgabe.value = 1.55 * betrag
else
    f.ausgabe.value = betrag / 1.55
}
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben