Pflichtfelder per Javascript

Begonnen von NeMeSiSX2LC, 01 Juni 2006, 16:06:21

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

NeMeSiSX2LC

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?
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

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

NeMeSiSX2LC

Also es sollte mit der Altersbegrenzung zusammen arbeiten. Sprich keiner unter 16 und eben das überhaupt was angegeben ist.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Energy-drink

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?
Ich bin alt aber bezahlt.... ;-)
Ich würde ja gerne die Welt verändern,
aber Gott gibt mir den Quellcode nicht!

RiotheRat

@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
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

NeMeSiSX2LC

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.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Energy-drink

Pflichtfelder einfärben wäre wohl die einfachste Lösung oder?? bevor man da viel mit javascripts arbeitet
Ich bin alt aber bezahlt.... ;-)
Ich würde ja gerne die Welt verändern,
aber Gott gibt mir den Quellcode nicht!

NeMeSiSX2LC

Manschen Usern muss man da ein schild vor hauen das sie merken das was fehlt....
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Du nimmst Drop-Down Felder für die Angabe des Geburtsdatums ?

NeMeSiSX2LC

Jupps die Standard felder des MX´s
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

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

NeMeSiSX2LC

Was ist wenn ich da schon ein onSubmit drin hab?
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

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

NeMeSiSX2LC

<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
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Die Variablendefinitionen aus der anderen Funktion nach oben dann den Rest unten dranhängen

NeMeSiSX2LC

CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

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

NeMeSiSX2LC

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!
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1