Prüfungen mit js bei Übergabe an PHP klappt nicht

derilzemer

Grünschnabel
Hallo,

ich bin neu hier und sage mal zuerst Hallo.
Ich habe hier ein Script gefunden, daß mir prüfen soll ob alle Felder in einem HTML Formular ausgefüllt sind (http://www.tutorials.de/forum/javas...vascript-ueberpruefen-mit-php-versenden.html). Das Formular übergibt dann die Daten via php Formular an SQL. Es klappt alles bis auf die Prüfung. Da ich leider keinen blassen habe von js, die Frage ob mich jemanden bei der Fehlerfindung unterstützen könnte. Bei absenden, bekomme ich keine Fehlermeldung, bzw. Hinweis daß das Feld nicht ausgefüllt sei. Hier der js Teil der die Prüfung machen soll:
Code:
<script language="JavaScript">
<!--
// Formular-Checker
function check(forms){
Array[Geraet]=document.forms[0].elements[0].value; ==> abgeändert auf meine Bedürfnisse, normalerweise stand hier 
name=document.forms[0].elements[0].value;

if(Array[Geraet]==""){alert("Es fehlen die Eingaben unter Geraet!"); ==> ebenfalls abgeändert auf meine Bedürfnisse, normalerweise stand hier  
if(name==""){alert("Bitte überprüfe deinen Namen!");
document.forms[0].elements[0].focus();
return(false);}
// -->
</script>
Ich vermute ja, daß es mit dem Array[Geraet] zu tun hat. Wer kann mir helfen? Ich weiß nicht ob ich auch den Code des restlichen Html angeben soll. Dewswegen zu Sicherheit
hier die komplette Datei noch einaml am Stück.

Code:
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Datensatzeingabe</TITLE>
</HEAD>
<BODY BGCOLOR="#fffacd">
<center><h1><i><u>Bla</h1></i></u></center>
<FONT FACE="Tahoma,Arial">
<body><br />
<p align="left" style="margin-left:80px">
Alle Felder sind auszuf&uuml;llen. Felder f&uuml;r die es keine Angaben gibt, bitte einen - einf&uuml;gen.<br />
<script language="JavaScript">
<!--
// Formular-Checker
function check(forms){
name=document.forms[0].elements[0].value; 

if(name==""){alert("Bitte überprüfe deinen Namen!");
document.forms[0].elements[0].focus();
return(false);}
// -->
</script> 
<form action="work.php" method=post>  
Kategorie<br />
<SELECT NAME="Array[Kategorie]">
<OPTION>ACS-User anlegen
<OPTION>ACS-User ändern
</SELECT>
<br>
Geraet <br>
<input type=text name="Array[Geraet]" size= 15>
<br>
SolMan <br>
<input type=text name="Array[SolMan]" size= 15>
<br>
PfOrganet <br>
<input type=text name="Array[PfOrganet]" size= 15>
<br>
FWAntrag <br>
<input type=text name="Array[FWAntrag]" size= 15>
<br>
Datum <br>
<input type=text name="Array[Datum]" size= 15>
<br>
Uhrzeit <br>
<input type=text name="Array[Uhrzeit]" size= 15>
<br>
Wirkung <br>
<input type=text name="Array[Wirkung]" size= 15>
<br>
Benutzer<br />
<SELECT NAME="Array[Benutzer]">
<OPTION>XCD6004
<OPTION>XCD6006
</SELECT>
<br>
Anmerkung<br><textarea name="Array[Anmerkung]" row=5 cols=60></textarea>
<br>
<br>
<input type=submit name="SUBMIT" value="Speichern">&nbsp;&nbsp;&nbsp;<input type="reset" value="Reset"><br /><br />
</form>
<form action="showall.php" input type="submit">
<input type=submit name="SUBMIT" value="Datens&auml;tze anzeigen">
</form>
</p>
</body>
</html>
 
Zuletzt bearbeitet:
Mal eine Frage.

Wo wird die Funktion aufgerufen?

Kleiner Tip Du solltest dein HTML Dokument besser struktuieren, dann wird es übersichtlicher ;)

Du hast ein <body> doppelt, und das Javaascript gehört meines Wissens in den Head bereich.

http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche

Zum Thema Formulare überprüfen wurden hier schon einige Posts gemacht - einfach im JS-Board die Suchfunktion benutzen.

Folgender Code funktioniert.

Code:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">

 <html>

  <head>

   <title></title>

   <script language="JavaScript">
    <!--
     function formularcheck() {
              var error = "false";
              var name = document.testform.name.value;
              var email = document.testform.email.value;
              if(name == ""){
                 alert("Bitte gebe deinen Namen ein");
                 error = "true";
              }
              if(email == ""){
                 alert("Bitte gebe deine Email ein");
                 error = "true";
              }
              if(error == "false"){
                 document.testform.submit();
              }

     return
     }
     
    //-->
   </script>

  </head>

  <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

   <form name="testform" action="verarbeitung.php" method="post" target="">
    Name:<input type="Text" name="name" value="" size="30" maxlength="30"><br>
    Email:<input type="Text" name="email" value="" size="30" maxlength="30"><br>
    <input type="button" onClick="formularcheck()" name="speichern" value="speichern"> <input type="reset">
   </form>

  </body>

 </html>

Wenn das gesamte Formular ausgefüllt werden muss, geht es auch so.

Javascript:
     function formularcheck() {
              var error = "false";

              for(i=0; i< document.testform.elements.length  ; i++ ) {
                  if(document.testform.elements[i].value == ""){
                     error = "true";
                  }
              }

              if(error == "false"){
                 document.testform.submit();
              } else {
                 alert("Das Formular muss komplet ausgefüllt werden");
              }

     return
     }

Es gibt bestimmt noch andere Möglichkeiten, ich mache es immer so.:)
 
Zuletzt bearbeitet:
Hi,

danke erst mal für die Antwort und den Hinweis zwecks Body, hab ich einfach verpeilt. Bessere Struktur, hmm weiss nicht genau wie ich das vereinfachen könnte, hab da ehrlich gesagt nicht so die Ahnung, bin ja froh daß es so weit geht :-(. Aber ich werde mal schauen.
Ich muss das Script mal genauer anschauen, da es noch nicht geht, da ich sicherlich etwas vergessen habe


Gruß Andreas
 
Hi,

jo werde ich nicht behaupten, daß meiner gut aussieht. Ich werde mal schauen daß ich die Struktur ändere. Danke.

Gruß Andreas
 

Neue Beiträge

Zurück