Pflichtfelder mit Javascript

julia29

Erfahrenes Mitglied
Hallo,
habe keine Erfahrung mit Javascript, komme aber wohl um deren Anwendung nicht drumherum. Habe mir einige Scriptteile zusammengesucht aber klappt nicht.

Der User soll mittels javascript in einem PHP / HTML-Formular ein Pflichtfeld ausfüllen, geschieht dies nicht, soll eine Fehlermeldung erscheinen.

Nun ist bei mir das ganze Feld (eFeld1) verschwunden bzw. wird nun nicht mehr angezeigt und ich kann den Fehler nicht finden.

HTML:
<?PHP
session_start();
echo <<< EOT
<html>
  <head>
  <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
  
  
  <!--   -->  
  <!-- Pruefung ob Feld 'eFeld1' ausgefuellt  -->
  <script language="javascript" type="text/javascript">
function checkForm() {
var nameValue = document.getElementById("eFeld1").value;
var filter  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9])+$/;

if (nameValue == "") {

   alert("Bitte füllen Sie das Feld 1 aus!");
   document.getElementById("eFeld1").focus();

   return false;
}

document.forms[0].submit();

return true;
}
</script>

 
  
  
  <BODY BGCOLOR="FFFFFF">
    <title>Mein Formular...</title>
  </head>
  <body>

<table BORDER=0 CELLSPACING=0 CELLPADDING=0>
<tr>
    <td WIDTH=460 BGCOLOR="#3399FF"> 
    <center><FONT SIZE="-0" FACE="Arial"> Dies ist mein Formular </Font></center>
    
    </td>
</tr> 
</table>   

EOT;

$pfad1 = '../upload/'.$_POST['eFeld1'];
$pfad2 = $_POST['eFeld1'];
$_SESSION['eFeld1'] = $pfad2;

$old_umask = umask(0);
umask($old_umask);

if(!$_POST['submit']){
  echo("    <form action='#' method='POST' onsubmit='return checkForm();>\n".
       "      <BLOCKQUOTE><BLOCKQUOTE><br><br><FONT FACE=\"Arial\"><FONT SIZE=\"-1\">
	   Bitte tragen Sie hier Ihre Daten ein.</font><br><br>
	   <input type='text' name='eFeld1' /><br />\n".
       "      <input type='submit' name='submit' value='Absenden!' SIZE='3' />\n".
       "    </BLOCKQUOTE></BLOCKQUOTE></form>\n");
}else{
  if($pfad1)	
  {

    echo("    <blockquote><blockquote><br><br><FONT FACE=\"Arial\"><FONT SIZE=\"-1\">Upload-Verzeichnis geöffnet.<br><br>
	<br><A HREF='http://www.domain.de/upload.php'>Weiter</A>.</font></blockquote></blockquote>\n");

  }
}

echo <<< EOT
  </body>
</html>
EOT;
?>

Kann mir einer zeigen wie es richtig sein muss?

Danke
Julia
 
Hi,

wenn du den onsubmit-Eventhandler am Ende mit einem Apostroph wieder ordnungsgemäß schliesst, erscheint auch das Eingabefeld:

Code:
<form action='#' method='POST' onsubmit='return checkForm();'>

Weshalb du aber die beiden Formularelemente in einen ineinander verschachtelten Zitatblock einbettest, kann ich nicht so recht nachvollziehen.

Außerdem solltest du dich mit dem Grundgerüst einer HTML-Datei näher beschäftigen, denn das <body>-Tag wird darin nur einmal geöffnet, sowie der Seitentitel nicht im Dokumentkörper, sondern im HEAD-Bereich notiert, und der Dokumentheader vor dem Dokumentkörper wieder geschlossen.

Bei Unklarheiten im Regelwerk kann auch ein Besuch beim w3c-Validator weiterhelfen, um von ihm das Markup überprüfen zu lassen.
 

Neue Beiträge

Zurück