Hi ist es möglich das man bei der Anmeldung die Felder per Javascript checken kann?
Klar ist möglich. Aber wie zb würde das für das Geburtsdatum aussehen?
ZitatKlar ist möglich. Aber wie zb würde das für das Geburtsdatum aussehen?
Was willste denn genau prüfen ?
Ob etwas drinnesteht, ob es ein gültiges datum ist oder ob es ein mögliches Geburtsdatum ist ?
MfG
Also es sollte mit der Altersbegrenzung zusammen arbeiten. Sprich keiner unter 16 und eben das überhaupt was angegeben ist.
naja wenn du eh ein mindestalter einsetzt dann regelt das doch das MX mit dem mindestalter und dann müssen die user doch ein alter eingeben. oder täusche ich mich da jetzt?
@Energy-drink
Du irrst Dich nicht - wenn bei den Useroptionen ein Mindestalter eingetragen ist, prüft Mx das ab. Ein "echter Adultcheck" ist es nicht, auch klar.
RtR
Es geb mir nur darum. das die User nicht erst nach dem Absenden sehen das sie was vergessen haben. Sondern gleich wenn sie auf den Absenden button klicken.
Pflichtfelder einfärben wäre wohl die einfachste Lösung oder?? bevor man da viel mit javascripts arbeitet
Manschen Usern muss man da ein schild vor hauen das sie merken das was fehlt....
Du nimmst Drop-Down Felder für die Angabe des Geburtsdatums ?
Jupps die Standard felder des MX´s
O.K.
Dies hier bringst Du in der modules/User-registration/index.php unter
(ich habe es nach Zeile 48 (include("header.php") ) eingesetzt
<?php
echo"<script language=\"JavaScript\" type=\"text/javascript\">
<!--
function chkBirthday()
{
var maxage=80;
var minage=16;
var datum = new Date();
var nowday = datum.getDate();
var nowmonth = datum.getMonth();
var nowyear = datum.getFullYear();
if(document.Register.bday_day.options[0].selected)
{
alert(\"No Day\");
document.Register.bday_day.focus();
return false;
}
else
{
for (i = 0; i < document.Register.bday_day.length; ++i)
if (document.Register.bday_day.options[i].selected == true)
day=document.Register.bday_day.options[i].value;
}
if(document.Register.bday_month.options[0].selected)
{
alert(\"No Month\");
document.Register.bday_month.focus();
return false;
}
else
{
for (i = 0; i < document.Register.bday_month.length; ++i)
if (document.Register.bday_month.options[i].selected == true)
month=document.Register.bday_month.options[i].value;
}
if (document.Register.bday_year.value == \"\")
{
alert(\"No Year\");
document.Register.bday_year.focus();
return false;
}
else
{
year=document.Register.bday_year.value;
}
if ((nowyear-year<minage)||(nowyear-year>maxage))
{
alert(\"Either to young or to old to register\");
return false;
}
else
return true;
}
//-->
</script>";
?>
Und noch das onSubmit des Formulars umbiegen in der Zeile
131
<?php
echo "<form name=\"Register\" action=\"modules.php\" method=\"post\" onSubmit=\"return chkBirthday();\">\n"
?>
Wenn Du das Original nicht allzusehr umgefriemelt hast sollte es erstens die beiden
Drop-Downs auf gültige Auswahl prüfen, Das Textfeld (Jahr) auf inhalt prüfen und dann
das Alter anhand der beiden Variablen maxage und minage (oben im Javascript evt noch anpassen!)
auswerten.
MfG
Was ist wenn ich da schon ein onSubmit drin hab?
ZitatWas ist wenn ich da schon ein onSubmit drin hab?
Können doch auch nur Prüfungen der Formularfelder sein, oder ?
Zusammenfassen ist hier angesagt. Entweder alles in eine Javascript-Funktion packen, oder eine Javascript-Funktion die die beiden anderen je nach Rückgabewert aufruft.
MfG
<script type=\"text/javascript\">
function chkFormular () {
if (document.Register.uname.value == \"\") {
alert(\"Du musst noch Dein Nickname angeben!\");
document.Register.uname.focus();
return false;
}
if (document.Register.email.value == \"\") {
alert(\"Bitte Ihre E-Mail-Adresse eingeben!\");
document.Register.email.focus();
return false;
}
if (document.Register.pass.value == \"\") {
alert(\"Du musst noch Dein Passwort angeben!\");
document.Register.pass.focus();
return false;
}
if (document.Register.user_sexus.value == \"\") {
alert(\"Du musst noch Dein Geschlecht angeben!\");
document.Register.user_sexus.focus();
return false;
}
if (document.Register.realname.value == \"\") {
alert(\"Bitte gib auch Deinen richtigen Namen an!\");
document.Register.realname.focus();
return false;
}
if (document.Register.user_famstatus.value == \"\") {
alert(\"Die Community würde es doch interessieren, ob du Single oder nicht bist!\");
document.Register.user_famstatus.focus();
return false;
}
if (document.Register.user_famstatus.value == \"\") {
alert(\"Die Community würde es doch interessieren, ob du Single oder nicht bist!\");
document.Register.user_famstatus.focus();
return false;
}
}
</script>";
Diese Funktion wird bei onSubmit abgefragt
Ist noch nicht ganz komplett aber man sieht wo es hin geht
Die Variablendefinitionen aus der anderen Funktion nach oben dann den Rest unten dranhängen
hö? was wo hin??
Zitathö? was wo hin??
Die Variablendefinitionen aus der von mir geposteten Funktion
Zitat
var maxage=80;
var minage=16;
var datum = new Date();
var nowday = datum.getDate();
var nowmonth = datum.getMonth();
var nowyear = datum.getFullYear();
Oben in deine Funktion reinpacken.
Den Rest aus meiner Funktion
Zitat
if(document.Register.bday_day.options[0].selected)
{
.
.
.
.
return false;
}
else
return true;
hängst Du an die bisherigen Auswertungen in Deiner Funktion ran und achtest darauf, das nur ein true zurückgegeben wird, wenn ALLE Bedingungen erfüllt sind.
War es so verständlicher ?
MfG
Japps war es. Java und dann noch so eine experten Aussage. Da hat es einfach ausgesetzt. Sollte mich wohl echt bissel mehr mit javascript befassen....
Ach und noch ein mega THX dafür!