AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein JavaScript onsubmit mit dem Internet Explorer
Thema durchsuchen
Ansicht
Themen-Optionen

JavaScript onsubmit mit dem Internet Explorer

Ein Thema von engel90 · begonnen am 14. Jul 2008 · letzter Beitrag vom 15. Jul 2008
Antwort Antwort
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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: JavaScript onsubmit mit dem Internet Explorer

  Alt 14. Jul 2008, 05:34
Führe mal das Skript direkt im Button aus
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von engel90
engel90

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

Re: JavaScript onsubmit mit dem Internet Explorer

  Alt 14. Jul 2008, 10:11
Zitat von mkinzler:
Führe mal das Skript direkt im Button aus
habe das script sowohl im onsubmit als auch im onclick handler ausprobiert, es funktioniert dann auch beim Firefox nicht mehr.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: JavaScript onsubmit mit dem Internet Explorer

  Alt 14. Jul 2008, 23:47
Code:
<form action="addbook.php" method="post" name="bookdata">
  :
  <input type="button" value=" Datensatz hinzufügen " onclick="ValidateForm();" />
  <input type="reset" value=" Felder zurücksetzen " />
  :
</form>
Code:
function ValidateForm() {
  /* Alle Pflichtfelder auf Inhalt prüfen */
  if (   (document.bookdata.isbn13.value == "")
      || (document.bookdata.title.value == "")) {
    :
    /* Abschicken des Formulars verhindern */
  }
  else {
    :
    :
    /* Formular absenden */
    document.bookdata.submit;
  }
}
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: JavaScript onsubmit mit dem Internet Explorer

  Alt 15. Jul 2008, 05:38
Moin,

Zitat von engel90:
... Wenn ich für den gleichen Code den Internet Explorer (Version 6) verwende ...
wird denn wirklich der gleiche Code verwendet?

Im Beitrag #1 wird src="validateform.js" eingebunden, "return ValidateForm1();" aufgerufen, aber der Code für ValidateForm() gezeigt.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von engel90
engel90

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

Re: JavaScript onsubmit mit dem Internet Explorer

  Alt 15. Jul 2008, 11:57
Zitat von omata:
Code:
<form action="addbook.php" method="post" name="bookdata">
  :
  <input type="button" value=" Datensatz hinzufügen " onclick="ValidateForm();" />
  <input type="reset" value=" Felder zurücksetzen " />
  :
</form>
Code:
function ValidateForm() {
  /* Alle Pflichtfelder auf Inhalt prüfen */
  if (   (document.bookdata.isbn13.value == "")
      || (document.bookdata.title.value == "")) {
    :
    /* Abschicken des Formulars verhindern */
  }
  else {
    :
    :
    /* Formular absenden */
    document.bookdata.submit;
  }
}
hat funktioniert
danke schön

schade ist nur, dass das Absenden des Formulars jetzt nur noch mit aktiviertem JavaScript funktioniert
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: JavaScript onsubmit mit dem Internet Explorer

  Alt 15. Jul 2008, 12:06
Neuer Versuch...
Code:
<form action="addbook.php" method="post" name="bookdata">
 :
 <script type="text/javascript">
  <!--
   document.write(
    '<input type="button" value=" Datensatz hinzufügen " onclick="ValidateForm();" />'
   );
  -->
 </script>
 <noscript>
  <div style="display:inline">
   <input type="submit" value=" Datensatz hinzufügen " />
  </div>
 </noscript>
 <input type="reset" value=" Felder zurücksetzen " />
 :
</form>
Code:
function ValidateForm() {
  /* Alle Pflichtfelder auf Inhalt prüfen */
  if (   (document.bookdata.isbn13.value == "")
      || (document.bookdata.title.value == "")) {
    :
    /* Abschicken des Formulars verhindern */
  }
  else {
    :
    :
    /* Formular absenden */
    document.bookdata.submit;
  }
}
  Mit Zitat antworten Zitat
Benutzerbild von engel90
engel90

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

Re: JavaScript onsubmit mit dem Internet Explorer

  Alt 15. Jul 2008, 13:12
Zitat von omata:
Neuer Versuch...
Code:
<form action="addbook.php" method="post" name="bookdata">
 :
 <script type="text/javascript">
  <!--
   document.write(
    '<input type="button" value=" Datensatz hinzufügen " onclick="ValidateForm();" />'
   );
  -->
 </script>
 <noscript>
  <div style="display:inline">
   <input type="submit" value=" Datensatz hinzufügen " />
  </div>
 </noscript>
 <input type="reset" value=" Felder zurücksetzen " />
 :
</form>
Code:
function ValidateForm() {
  /* Alle Pflichtfelder auf Inhalt prüfen */
  if (   (document.bookdata.isbn13.value == "")
      || (document.bookdata.title.value == "")) {
    :
    /* Abschicken des Formulars verhindern */
  }
  else {
    :
    :
    /* Formular absenden */
    document.bookdata.submit;
  }
}
Danke

Ich wusste garnicht das man so mit Javascript arbeiten kann (ich bin neu in JavaScript)

  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz