Geburtsdatum
Pitt
- javascript
hi
also habe fogendes problem.
ich eine funktion für mein formular erstellen die ausrechnet, ob jemand 18 ist.
mein quelltext:
<script language="javascript">
function Datum()
{
var d = new Date();
var tage = d.getDate();
tage = ((tage < 10) ? "0":"") + tage;
var monate = d.getMonth() +1;
monate = ((monate < 10) ? "0":"") + monate;
var jahre = d.getYear();
document.anmeldeformular.tage.value=(tage)
document.anmeldeformular.monate.value=(monate)
document.anmeldeformular.jahre.value=(jahre)
}
function prufung(formularinhalt)
{
if (!test_Alter(formularinhalt)) return(false);
else
return(true);
}
function test_Alter(formular)
{
if (formular.jahre.value - formular.jahre1.value < "18")
{alert("Sie müssen mindestens 18 Jahre alt sein.");
formular.jahre1.select();
formular.jahre1.focus();
return(false);
} else
var monate = 1
for (i=18;i==formular.jahre.value - formular.jahre1.value;++i)
if (formular.monate.value < formular.monate1.value)
monate = -1
if (monate == -1)
{alert("sieü 18 sein");
return(false);
} else
var tage = 1
for(i=?;formular.monate.value == formular.monate1.value;i==formular.monate.value == formular.monate1.value;++i)
if (formular.tage.value < formular.tage1.value)
tage = -1
if (tage == -1)
{alert("Sie m+ssen 18 sein");
return(false);
} true)else
return(;
}
</script>
</head>
<body onload="Datum()">
<form action="mailto:afaf@afj.de" name="anmeldeformular" onSubmit="return prufung(anmeldeformular)">
<input type="hidden" name="tage" size="5">
<input type="hidden" name="monate" size="5">
<input type="hidden" name="jahre" size="5"><p>
<input type="text" name="tage1" size="5">
<input type="text" name="monate1" size="5">
<input type="text" name="jahre1" size="5"><p>
<input type="submit" name="submit" value="Abschicken">
<input type="reset" name="reset" value="Löschen"><p>
</form>
erklärung:
also die funktion rechnet zuerst das geburtsdatum minus das jetztige jahr.
wenn 17 rauskommt dann kommt natürlich das alert fenster.
wenn 19 rauskommt dann passt alles.
wenn 18 rauskommt dann kann er ja schon 18 sein aber muss nicht.
also rechnet die funktion die monate, wenn die jetzigen monate kleiner als die geburtsmonate, dann kommt wieder das alert fenster, weil er ja sein 18 geburtsmonat erst später hat. wenn die jetzigen monate gröser als die geburtsmonate dann passt alles.
wenn die monate jetzt aber gleich sind dann soll er auf die tage übergehen.
es geht glaub ich nur darum was ich bei der zweiten for-schleife bei i= eintragen muss.
und jetzt bei der letzt funktion bleib ich hängen. :-((
schaut euch mal den quelltext an und vielleicht könnt ihr das prob lösen.
Deja vu!
Bitte bleib in Deinem Thread [pref:t=42174&m=230720]!
Alexander