Einzelnen Beitrag anzeigen

Benutzerbild von engel90
engel90

Registriert seit: 15. Jan 2007
Ort: Jena
38 Beiträge
 
Delphi 7 Personal
 
#1

JavaScript onsubmit mit dem Internet Explorer

  Alt 14. Jul 2008, 00:25
Hallo,
ich habe eine MySQl Datenbank voller Bücher und möchte dafür nun ein HTML-Forular schreiben mit welchem ich Bücher hinzufügen kann. Dabei überprüfe ich mittels JavaScript und dem Eventhandle "onsubmit", ob die pflichtfelder ausgefüllt wurden. Dies funktioniert auch wunderbar, jedoch nur im Mozilla Firefox. Wenn ich für den gleichen Code den Internet Explorer (Version 6) verwende werden zwar die Änderungen übernommen (Hintergrundfarbe des fehlenden Fledes ändern) jedoch wird das Formular dann trotzdem weggeschickt.

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <title>Stefan Engelhardt - Kontakte</title>
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
      <link rel="stylesheet" type="text/css" href="design.css" />
      <script src="validateform.js" type="text/javascript"></script>
   </head>
   <body>
      <h1>Buch hinzufügen</h1>
      <h3 class="hint">(Mit * gekennzeichnete Felder sind Pflichtfelder)</h3>
      


      <form action="addbook.php" method="post" name="bookdata" onsubmit="return ValidateForm1();">
         <table border="0" cellpadding="0" cellspacing="0">
            <tr>
               <td width="200">ISBN13:*</td>
               <td><input name="isbn13" type="text" size="20" maxlength="13"></td>
               <td>[img]help.jpg[/img]</td>
            </tr>
            <tr>
               <td>ISBN10:</td>
               <td><input name="isbn10" type="text" size="20" maxlength="10"></td>
               <td>[img]help.jpg[/img]</td>
            </tr>
            <tr>
               <td>Titel:*</td>
               <td><input name="title" type="text" size="50" maxlength="128"></td>
               <td />
            </tr>
            <tr>
               <td>Autor(en):</td>
               <td><input name="author" type="text" size="50" maxlength="128"></td>
               <td />
            </tr>
            <tr>
               <td>Verlag:</td>
               <td><input name="publisher" type="text" size="50" maxlength="128"></td>
               <td />
            </tr>
            <tr>
               <td>Jahr:</td>
               <td><input name="year" type="text" size="5" maxlength="4"></td>
               <td>[img]help.jpg[/img]</td>
            </tr>
            <tr>
               <td>Perönlicher Kommentar:</td>
               <td><input name="comment" type="text" size="50" maxlength="128"></td>
               <td>[img]help.jpg[/img]</td>
            </tr>
            <tr>
               <td />
               <td class="notification" id="MissingContentNotification"> </td>
               <td />
            </tr>
            <tr>
               <td />
               <td>
                  <input type="submit" value=" Datensatz hinzufügen ">
                  <input type="reset" value=" Felder zurücksetzen ">
               </td>
               <td />
            </tr>
         </table>
      </form>
   </body>
</html>
Code:
function ValidateForm() {
  /* Alle Pflichtfelder auf Inhalt prüfen */
  if ((document.bookdata.isbn13.value == "") || (document.bookdata.title.value == ""))
  {
     /* Alle Pflichtfelder einzeln in umgekehrter Reihenfolge abarbeiten */
     if (document.bookdata.title.value == "")
     {
        /* Hintergrund des Feldes rot färben */
        document.bookdata.title.style.backgroundColor = "#f08080";
        /* Eingabefocus auf das Feld legen */
        document.bookdata.title.focus();
     }
    else
    {
       /* Hintergrund des Feldes zurücksetzen */
        document.bookdata.title.style.backgroundColor = "#ffffff";
    }
     if (document.bookdata.isbn13.value == "")
     {
        document.bookdata.isbn13.style.backgroundColor = "#f08080";
        document.bookdata.isbn13.focus();
     }
    else
    {
       /* Hintergrund des Feldes zurücksetzen */
        document.bookdata.isbn13.style.backgroundColor = "#ffffff";
    }
     /* Benachrichtigung über die fehlenden Elemente anzeigen */
     var notification = document.getElementById("MissingContentNotification");
     notification.firstChild.nodeValue = "Bitte füllen Sie alle Pflichtfelder aus.";
     /* Abschicken des Formulars verhindern */
     return false;
  }
  else
  {
     /* Feldhintergrund zurücksetzen */
     document.bookdata.title.style.backgroundColor = "#ffffff";
     document.bookdata.isbn13.style.backgroundColor = "#ffffff";
     /* Benachrichtigungsfeld zurücksetzen */
     var notification = document.getElementById("MissingContentNotification");
     notification.firstChild.nodeValue = " ";
     /* Formular absenden */
     return true;
  }
}
  Mit Zitat antworten Zitat