Bailey: Abbruch des Scriptes an verschiedenen Stellen

Beitrag lesen

So, da bin ich wieder. ^^

Ich setz es jetzt doch mit dem return um, hab es wie folgt gestrickt:

  
function berechne()  
{  
 // Kontrolliert, ob es das eingegebene Datum gibt und gibt das genaue Alter zurück  
 cal_Alter = checkGebDat();  
  
 if (cal_Alter == false)  
 {  
  // wenn das Alter nicht stimmt mache nichts  
 }  
 else  
 {  
  // ansonsten führe alle andere Funktion aus  
 }  
}  
  

Hab aber nun ne neue Frage:
Wenn ich die Funktion so lasse, wird die Fehlermeldung aus checkGebDat() 1x gezeigt (so wie es seien soll). Setze ich aber direkt den Funktionsnamen in den Code, so:

  
function berechne()  
{  
 // Kontrolliert, ob es das eingegebene Datum gibt und gibt das genaue Alter zurück  
 cal_Alter = checkGebDat();  
  
 if (checkGebDat() == false)  
 {  
  // wenn das Alter nicht stimmt mache nichts  
 }  
 else  
 {  
  // ansonsten führe alle andere Funktion aus  
 }  
}  
  

gibt er mir die Fehlermeldung 2x aus. Warum? Funktion checkGebDat():

  
function checkGebDat()  
{  
 // Geburtsdatum  
 var t,m,j,GebDatum;  
 t=document.getElementById("inputTag").value;  
 m=document.getElementById("inputMonat").value;  
 j=document.getElementById("inputJahr").value;  
 // aktuelles Datum  
 var heute  = new Date();  
 var heuteTag  = heute.getDate();  
 var heuteMonat = heute.getMonth() + 1;  
 var heuteJahr  = heute.getFullYear();  
  
 // Überprüft, ob das Geburtsdatum gültig ist  
 GebDatum = new Date(j,m-1,t);  
 if(GebDatum.getDate()==t && GebDatum.getMonth()+1==m && GebDatum.getFullYear()==j)  
 {  
 }  
 else  
 {  
  alert("Bitte geben Sie ein gültiges Geburtsdatum ein.");  
  alert("Return falsch");  
  return false;  
 }  
 }  

Eine Anmerkung noch: die Variable cal_Alter ist global.

Grüsse,
Bailey