 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
17.08.2007, 18:06
|
#1
|
|
TP-Newbie
Registriert seit: Aug 2007
|
Fehler im Script
Ich habe einen Calculator gemacht. Einer meiner ersten ... nya, irgendwo ist ein Fehler. (Oder mein Browser kann es nicht darstellen =/)
Obwohl ich alles schon etwa 3x durchgesehen hab, finde ich den Fehler nicht =(
Kann mir jemand helfen?
Code:
<html>
<head>
<title>Calc v0.4</title>
</head>
<h2>Calc v0.1</h2>
<script>
function Calc() {
if(document.CalcForm.InputDigit1.value && document.CalcForm.InputDigit2.value && document.CalcForm.InputDigit3.value && document.CalcForm.InputDigit4.value && document.CalcForm.InputDigit5.value && document.CalcForm.InputDigit6.value && document.CalcForm.InputDigit7.value && document.CalcForm.InputDigit8.value && document.CalcForm.InputDigit9.value && document.CalcForm.InputDigit10.value) {
var Digit1 = document.CalcForm.InputDigit1.value;
var Digit2 = document.CalcForm.InputDigit2.value;
var Digit3 = document.CalcForm.InputDigit3.value;
var Digit4 = document.CalcForm.InputDigit4.value;
var Digit5 = document.CalcForm.InputDigit5.value;
var Digit6 = document.CalcForm.InputDigit6.value;
var Digit7 = document.CalcForm.InputDigit7.value;
var Digit8 = document.CalcForm.InputDigit8.value;
var Digit9 = document.CalcForm.InputDigit9.value;
var Digit10 = document.CalcForm.InputDigit10.value;
var ergebnis = ((((((2*Digit1)/5)parseInt(2))*Digit2*Digit3*Digit4)/Digit5*Digit6*50)parseInt(2))*Digit7*Digit8*Digit9*Digit10*0,925;
document.OutPut.OutPutVal.value = ergebnis;
} else {
alert("Eingabe Falsch.");
}
}
</script>
<body bgcolor="#BF0000">
<form name="CalcForm" action="javascript:Calc(); ">
1: <input type="text" name="InputDigit1"> <br>
2: <input type="text" name="InputDigit2"> <br>
3: <input type="text" name="InputDigit3"> <br>
4: <input type="text" name="InputDigit4"> <br>
5: <input type="text" name="InputDigit5"> <br>
6: <input type="text" name="InputDigit6"> <br>
7: <input type="text" name="InputDigit7"> <br>
8: <input type="text" name="InputDigit8"> <br>
9: <input type="text" name="InputDigit9"> <br>
10: <input type="text" name="InputDigit10"> <br>
<input type="submit" value="Calculate!"> <br>
</form>
<form name="OutPut">
Angerichteter Schaden: <input type="text" name="OutPutVal"> <br>
</form>
<b><p>by White_Swampert</p></b>
</html>
---
Danke schon im Vorraus!!
Geändert von fish007 (17.08.2007 um 18:16 Uhr).
|
|
|
17.08.2007, 20:41
|
#2
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
Mit der Fehlerkonsole des Firefox-Browsers ist es recht einfach, die Fehler zu orten:
Code:
var ergebnis = ((((((2*Digit1)/5)parseInt(2))*Digit2*Digit3*Digit4)/Digit5*Digit6*50)parseInt(2))*Digit7*Digit8*Digit9*Digit10*0,925;
Jeweils zwischen dem ) und dem parseInt fehlt irgendein Zeichen (z.B. * oder +). Und statt Komma brauchst du einen Dezimal punkt.
Was wolltest du eigentlich mit parseInt() machen? parseInt(2) ergibt nämlich ganz einfach 2 -- d.h., es tut in diesem Code überhaupt nichts.
|
|
|
18.08.2007, 00:28
|
#3
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
klingt aber gut
könntest Du mal die Rechenformel im Klartext angeben? Da wird einem ja schwindlig.
|
|
|
18.08.2007, 13:05
|
#4
|
|
TP-Newbie
Registriert seit: Aug 2007
|
Zitat:
Zitat von rewboss
Code:
var ergebnis = ((((((2*Digit1)/5)parseInt(2))*Digit2*Digit3*Digit4)/Digit5*Digit6*50)parseInt(2))*Digit7*Digit8*Digit9*Digit10*0,925;
Jeweils zwischen dem ) und dem parseInt fehlt irgendein Zeichen (z.B. * oder +). Und statt Komma brauchst du einen Dezimal punkt.
Was wolltest du eigentlich mit parseInt() machen? parseInt(2) ergibt nämlich ganz einfach 2 -- d.h., es tut in diesem Code überhaupt nichts.
|
OK, das mit dem Punkt anstatt Komma habe ich geändert.
Ich habe mal irgendwo gelesen, dass man mit parseInt() zwei Summanden addiert. Aber irgenwie scheint es nicht zu funktionieren.
Eigentlich möchte ich, das was in Klammern steht, addieren, also Plus 2.
Wie kann ich das machen?
Danke für die Antwort =)
|
|
|
18.08.2007, 23:53
|
#5
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Homburg / Saarland
|
Hallo,
hast Du rewboss' Antwort genau gelesen?
Du mußt noch irgendetwas vor "parseInt" schreiben, also "+" , "-" oder sonst einen Operator.
parseInt wandelt einen String in eine Zahl um. Da Du aber bereits eine Zahl hast, brauchst Du das nicht mehr zu tun. ( Hat aber rewboss auch schon gesagt)
tschau
Frank
|
|
|
19.08.2007, 22:48
|
#6
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
Zitat:
Zitat von fish007
Eigentlich möchte ich, das was in Klammern steht, addieren, also Plus 2.
Wie kann ich das machen?
|
Öhm, ganz einfach mit +
Also statt:
((2*Digit1)/5)parseInt(2)
schreibst du:
((2*Digit1)/5)+2
|
|
|
21.08.2007, 17:45
|
#7
|
|
TP-Newbie
Registriert seit: Aug 2007
|
ok, danke vielmals  es klappt jetzt
Jetzt kommt schon das nächste Problem:
Wennich nun will, dass in der Ausgabe (das was der Benutzer sieht) eine Liste wie diese

erscheint und man:
-wie in diesem Beispiel gross, mittel und klein wählen kann
-ABER in Hintergrund rechnet es anstatt zB "gross" (wenn der Benutzer "gross" wählt) zB 7.
Code:
((((((2*Digit1)/5)+2)*Digit2*Digit3*Digit4)/Digit5*Digit6*50)+2)*Digit7*Digit8*Digit9*Digit10*0.925;
ich habe kA ob und wie das geht

|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:13 Uhr.
|
 |