JavaScript "Function" is not defined

StadtAffe

Lt. Commander
Registriert
Nov. 2009
Beiträge
1.253
Hey liebe CBler,

ich habe gerade in der Schule ein JavaScript Auftrag. Ich versuche seit mehreren Stunden die Function zum laufen zu bringen. Finde jedoch mein Fehler nicht.

Google Chrome, FireFox und Internet Explorer führen die Funktion nicht aus. Google gibt mir die Fehlermeldung :
Code:
Uncaught SyntaxError: Unexpected token if Leistungskurs.html:19

Uncaught ReferenceError: auswertung is not defined Leistungskurs.html:83
onclick Leistungskurs.html:83

Ich habe schon im Quelltext nachgesehen und finde anscheinend den Wald vor lauter Bäumen nicht. Da heute der Lehrer nicht da ist, kann ich ihn auch leider nicht befragen.

Hier mein Quelltext:

HTML:
<html>
<head>
<title>Leistungskurs</title>

<script type="text/javascript">

function auswertung()
{
    var text;
    var summe, zaehler=0;    

    text = document.form1.name1.value;
    text = text + " deine Fächer sind:";

if (name = "leer")
{"Daten ausgeben"
}
else(
    if (document.form1.Operand1.checked == true) 
    {
    text = text + " Betriebswirtschaftliche Prozesse: " + document.form1.text1.value;
    document.form1.Ergebnis.value = text;
    } 
    if (document.form1.Operand2.checked == true) 
    {
    text = text + " Informationstechnik: " + document.form1.text2.value;
    document.form1.Ergebnis.value = text;
    } 

    if (document.form1.Operand3.checked == true) 
    {
    text = text + "\nEnglisch: " + document.form1.text3.value;
    document.form1.Ergebnis.value = text;
    } 

    if (document.form1.Operand1.checked == true)
    {
    summe = parseInt (document.form1.text1.value);
    zaehler ++;
    }

    if (document.form1.Operand2.checked == true)
    {
    summe = summe + parseInt (document.form1.text2.value);
    zaehler ++;
    }

    if (document.form1.Operand3.checked == true)
    {
    summe = summe + parseInt (document.form1.text3.value);
    zaehler ++;
    }

    }


    )
  
</script>
</head>

<body>



<form name="form1">
   Name 
<br>
  <input type="text" name="name1" value="Kevin" size="10"> 
<br>
<br>
<br>
	<input type="checkbox" name="Operand1" size="10"> Betriebswirtschaftliche Prozesse&nbsp;&nbsp;&nbsp;&nbsp; 	<input type="text" name="text1" size="10"> Note
<br>
	<input type="checkbox" name="Operand2" size="10"> Informationstechnik&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <input type="text" name="text2" size="10"> Note
<br>
	<input type="checkbox" name="Operand3" size="10"> Technisches Englisch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="text3" size="10"> Note
<br>
<br>   
<br> 
  <textarea name="Ergebnis" cols="40" rows="8"></textarea>
<br>
  <input type="button" button style="background-color:#00bfff" value="Auswertung" onclick="auswertung()">

</form>  
</body>
</html>


Die Funktion soll am Ende die Fächer mit Noten ausgeben, sowie die Durchschnittsnote.

Bin für Tipps dankbar!

grüße
:affe:
 
dein Else-Zweig beginnt mit ( statt {
deine Funktion scheint nicht mit einem } zu enden

Schnapp dir mal n anständigen Editor mit Klammer-Zähler.
 
Hi StadtAffe,

wie meine Vorredner schon erwähnten, hast du wahrscheilich aus Versehen die falsche Klammer erwischt.

Probier es mal mit dem folgenden Syntax:

HTML:
<script type="text/javascript">

function auswertung() {
var text;
var summe, zaehler=0;
 
text = document.form1.name1.value;
text = text + " deine Fächer sind:";
 
if (name == 'leer'){
	"Daten ausgeben"
} else {
if (document.form1.Operand1.checked == true)
{
text = text + " Betriebswirtschaftliche Prozesse: " + document.form1.text1.value;
document.form1.Ergebnis.value = text;
}

if (document.form1.Operand2.checked == true)
{
text = text + " Informationstechnik: " + document.form1.text2.value;
document.form1.Ergebnis.value = text;
}
 
if (document.form1.Operand3.checked == true)
{
text = text + "\nEnglisch: " + document.form1.text3.value;
document.form1.Ergebnis.value = text;
}
 
if (document.form1.Operand1.checked == true)
{
summe = parseInt (document.form1.text1.value);
zaehler ++;
}
 
if (document.form1.Operand2.checked == true)
{
summe = summe + parseInt (document.form1.text2.value);
zaehler ++;
}
 
if (document.form1.Operand3.checked == true)
{
summe = summe + parseInt (document.form1.text3.value);
zaehler ++;
}
 
}
}
</script>

Um eine Fehlersuche zu erleichtern, kannst du z.B. Kommentare für die einzelnen Statements nutzen. So weißt du immer wo dies anfängt und wieder aufhört. Viele Fehlermeldungen resultieren nämlich darauf, dass keine Close-Klammer vorhanden ist, eine zuviel oder eine falsche Klammer benutzt wurde.

Gruß
HigH_HawK
 
Zurück
Oben