JS Formularüberprüfung funktioniert nicht

Fragen zum Thema HTML, JavaScript, PHP
Antworten
Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

JS Formularüberprüfung funktioniert nicht

Beitrag von naums » Do Mai 19, 2011 6:57 pm

Kurz und Knapp: Warum funktioniert folgender JS Code nicht? Der FF gibt keine Fehlermeldung zurück.

Code: Alles auswählen

<script language="javascript" type="text/javascript">
function chkRegister ()
{
    if (document.register.pass1.value=='')
    {
        document.getElementById('error').innerHTML='<center><TABLE bgcolor="#8e0000" bordercolor="#bf0000" border="1px"><TR><TD style="border:0px"><P style="color:#ffffff; text-align: center; margin-left:10px; margin-right:10px">Das Feld ist leer</P></TD></TR></TABLE></center>';
        document.register.pass1.focus();
        return false;
    };
    if (document.register.pass2.value=='')
    {
        document.getElementById('error').innerHTML='<center><TABLE bgcolor="#8e0000" bordercolor="#bf0000" border="1px"><TR><TD style="border:0px"><P style="color:#ffffff; text-align: center; margin-left:10px; margin-right:10px">Das Feld ist leer</P></TD></TR></TABLE></center>';
        document.register.pass2.focus();
        return false;
    };

    if (document.register.pass1.value!=document.getElementById('pass2').value)
    {
        document.getElementById('error').innerHTML='<center><TABLE bgcolor="#8e0000" bordercolor="#bf0000" border="1px"><TR><TD style="border:0px"><P style="color:#ffffff; text-align: center; margin-left:10px; margin-right:10px">Die beiden Passworte stimmen nicht überein.</P></TD></TR></TABLE></center>';
        document.register.pass1.value='';
        document.register.pass2.value='';
        document.register.pass1.focus();
        return false;
    }
    if (document.register.name.value=='')
    {
        document.getElementById('error').innerHTML='<center><TABLE bgcolor="#8e0000" bordercolor="#bf0000" border="1px"><TR><TD style="border:0px"><P style="color:#ffffff; text-align: center; margin-left:10px; margin-right:10px">Das Feld ist leer</P></TD></TR></TABLE></center>';
        document.register.name.focus();
        return false;
    }
    if (document.register.email.value=='')
    {
        document.getElementById('error').innerHTML='<center><TABLE bgcolor="#8e0000" bordercolor="#bf0000" border="1px"><TR><TD style="border:0px"><P style="color:#ffffff; text-align: center; margin-left:10px; margin-right:10px">Das Feld ist leer</P></TD></TR></TABLE></center>';
        document.register.email.focus();
        return false;
    }return register}

</script>

<center>

<div id="error"></div>
<table width="100%"><tr><td width="50%"><tr><td>
  <h1><u>Registrierung</u></h1>
  <form method="post" action="newAccount.php" onSubmit="return chkRegister;" name="register">
  <p>Benutzername: <br /><input type="text" name="name" size="40" onfocus="clearInput ('name','Benutzername')" id="name" value="Benutzername"></p>
  <p>Email-Addresse: <br /><input type="text" name="email" size="40" onfocus="clearInput ('regmail','Email-Adresse')" id="regmail" value="Email-Adresse"></p>
  <p>Passwort: <br /><input type="password" name="pass1" size="40" onfocus="clearInput ('pass1','Passwort')" id="pass1" value="Passwort"></p>
  <p>Wiederholen: <br /><input type="password" name="pass2" size="40" onfocus="clearInput ('pass2','Wiederholen')" id="pass2" value="Wiederholen"></p>
  <input type="submit" name="submit" value="Registrieren">
  </form>
PS: Ich meine chkRegister () nicht ClearInput(). ClearInput funktioniert, ist hier aber nicht im Schnipsel enthalten.

PPS: Mit nicht funktionieren meine ich, der Browser leitet mich zu newAcc.php weiter, obwohl im Formular Fehler enthalten sind.

MfG Naums
Zuletzt geändert von naums am Do Mai 19, 2011 7:00 pm, insgesamt 1-mal geändert.
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: JS Formularüberprüfung funktioniert nicht

Beitrag von cloidnerux » Do Mai 19, 2011 6:59 pm

Code: Alles auswählen

 if (document.register.pass1.value=='')
Soll das so sein?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: JS Formularüberprüfung funktioniert nicht

Beitrag von naums » Do Mai 19, 2011 7:01 pm

Jap. genau das soll javascript prüfen. Ob ein feld == NULL ist, wenn ja, brauch der Browser die Daten ja nicht losschicken.
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: JS Formularüberprüfung funktioniert nicht

Beitrag von cloidnerux » Do Mai 19, 2011 7:08 pm

Ansonsten hast du strings einfach über mehrere Zeilen Umgebrochen?
Funktioniert ' und " in einem String ohne sich gegenseitig zu Terminieren?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: JS Formularüberprüfung funktioniert nicht

Beitrag von naums » Do Mai 19, 2011 7:36 pm

ähm, nein das wird der Zeilenumbruch deines browsers sein, was du siehst. Die Strings sind eig. alle einzeilig

' ... " XXX AAA " ... ' funktioniert. Wenn nicht sollte es ja eine Fehlermeldung geben, die aussagt, dass das totaler Schrott ist...
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
bbbl
Beiträge: 80
Registriert: So Jul 19, 2009 12:04 am

Re: JS Formularüberprüfung funktioniert nicht

Beitrag von bbbl » Do Mai 19, 2011 8:25 pm

Du gibst via onsubmit zwar die chkRegister-Funktion zurück, führst sie aber nicht aus..
<form method="post" action="newAccount.php" onSubmit="return chkRegister();" name="register">

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: JS Formularüberprüfung funktioniert nicht

Beitrag von naums » Fr Mai 20, 2011 3:44 pm

Ahhh. Das macht Sinn. Und funktionieren tuts auch noch... Danke ;)
.globl truth
truth:
mov r0, #42
mov pc, lr

Antworten