Zahlen addieren
Schmaid
- javascript
0 Daniel0 Ingo Turski0 dbenzhuser
Ich bin am ausrasten!!!
das einfachste auf der Welt, zwei zahlen zu addieren, FUNKTIONIERT NICHT!!! Ich kann mir nicht erklären warum er die Werte aneinander hängt und nicht ADDIERT!!!!
Was mach ich falsch? Warum geht es nicht?
Der Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>Gehzeit Rechner ;-)</title>
<script type="text/javascript">
<!--
function ZeitRechnen (anfZeit) {
var kommen = anfZeit;
var stunden = 820;
var endZeit = kommen + stunden;
return endZeit;
}
function XY (ZeitEer) {
var zeitAusgabe = ZeitRechnen(ZeitEer);
document.StartZeitEingabe.EndZeitFeld.value = zeitAusgabe;
}
//-->
</script>
</head>
<body>
<form name="StartZeitEingabe" action="">
<pre>
Anfangs Uhrzeit: <input type="text" name="ZeitEingabe" />
</pre>
<input type="button" value="Endzeit Ausrechnen"
onClick="XY(document.StartZeitEingabe.ZeitEingabe.value)"/>
<pre>
Zeit zum Gehen: <input type="text" name="EndZeitFeld" />
</pre>
</form>
</body>
</html>
Versuch mal:
var endZeit = Number(kommen) + Number(stunden);
Werte aus Formularfeldern sind standardmässig Strings, die du zuerst in Zahlen konvertieren musst, wenn du addieren willst!
Gruss,
Daniel
Ich hab den Fehler!
JavaScript rechnet prinzipell wenn es eine Zahl bekommt die von einer Eingabe übergeben wird und die mit dem Operator "+" verrechnet werden soll, mit String Werten.
Multipliziere ich 2 Zahlen, z.B. 1. Zahl von einer Eingabe und die 2. Zahl (fest vorgeben), rechnet JavaScript mit den Zahlen.
D.h. Übergebe ich einen Eingabewert wird dieser als String bewertet. Will ich dann aber mit diesem Wert und einem andern Wert addieren, ist es das beste entweder wie Du angeben hast, ihm fest zu sagen, mit "Number", dass es eine Zahl ist. Oder ich multipliziere die Zahl mit 1 und addiere dann die zweite.
Bsp.:
Einggebener Wert(String) - 715
Der Wert mit dem Addiert werden soll - 820
Rechnung Falsch:
Ergebnis = Wert + 820
Rechnung Richtig
Ergebnis = 1*(Wert) + 1*(820)
--oder--
Ergebnis = Number(Wert) + Number(820)
Danke
Gruß Schmaid
hi,
Ich hab den Fehler!
JavaScript rechnet prinzipell wenn es eine Zahl bekommt die von einer Eingabe übergeben wird und die mit dem Operator "+" verrechnet werden soll, mit String Werten.
wenn du es noch ein wenig exakter formulierst, dann stimmt es sogar:
das, was du aus der value-eigenschaft eines formularfeldes ausliest, ist _immer_ ein string.
gruss,
wahsaga
Hi,
Du mußt ja auch mit Zahlen rechnen. Also:
var kommen = parseInt(anfZeit)
wobei "EndZeitFeld" ja noch garnicht berücksichtigt wird.
freundliche Grüße
Ingo
Servus!
Die Anfrage ist ja noch nicht mal aus dem Forum raus...
(JAVASCRIPT) Addition bei Java script
http://forum.de.selfhtml.org/?t=66783&m=381372
naechstes mal kurz selbst suchen, waer doch was :)
dbenzhuser
PS: Tschuldigung, dass ich die URL nicht als Link poste, aber scheinbar nimmt er das nicht an: [pref:t=66783&m=381372]
(Oder ist es generell sinnfrei auf Threads innerhalb der Forumshauptdatei zu linken? Haelt ja eh nicht lang..)