pragmaMx Support Forum

pragmaMx => Individuelle Anpassungen => Thema gestartet von: NeMeSiSX2LC in 01 Juni 2006, 16:06:21

Titel: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 16:06:21
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?
Titel: Re: Pflichtfelder per Javascript
Beitrag von: jubilee in 01 Juni 2006, 18:09:48
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
Titel: Re: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 18:20:15
Also es sollte mit der Altersbegrenzung zusammen arbeiten. Sprich keiner unter 16 und eben das überhaupt was angegeben ist.
Titel: Re: Pflichtfelder per Javascript
Beitrag von: Energy-drink in 01 Juni 2006, 18:23:23
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?
Titel: Re: Pflichtfelder per Javascript
Beitrag von: RiotheRat in 01 Juni 2006, 18:26:53
@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
Titel: Re: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 18:40:24
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.
Titel: Re: Pflichtfelder per Javascript
Beitrag von: Energy-drink in 01 Juni 2006, 18:42:32
Pflichtfelder einfärben wäre wohl die einfachste Lösung oder?? bevor man da viel mit javascripts arbeitet
Titel: Re: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 18:43:15
Manschen Usern muss man da ein schild vor hauen das sie merken das was fehlt....
Titel: Re: Pflichtfelder per Javascript
Beitrag von: jubilee in 01 Juni 2006, 19:37:03
Du nimmst Drop-Down Felder für die Angabe des Geburtsdatums ?
Titel: Re: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 19:40:03
Jupps die Standard felder des MX´s
Titel: Re: Pflichtfelder per Javascript
Beitrag von: jubilee in 01 Juni 2006, 21:11:02
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
Titel: Re: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 21:23:05
Was ist wenn ich da schon ein onSubmit drin hab?
Titel: Re: Pflichtfelder per Javascript
Beitrag von: jubilee in 01 Juni 2006, 21:25:58
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
Titel: Re: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 21:29:11
<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
Titel: Re: Pflichtfelder per Javascript
Beitrag von: jubilee in 01 Juni 2006, 21:33:58
Die Variablendefinitionen aus der anderen Funktion nach oben dann den Rest unten dranhängen
Titel: Re: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 21:41:37
hö? was wo hin??
Titel: Re: Pflichtfelder per Javascript
Beitrag von: jubilee in 01 Juni 2006, 21:53:42
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
Titel: Re: Pflichtfelder per Javascript
Beitrag von: NeMeSiSX2LC in 01 Juni 2006, 21:55:14
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!