Christian Leipnitz: PopUp bei Fehler

Hallo zusammen,

auf einer Seite können User Daten eintragen. Leere (Pflicht-)Felder überprüfe ich mit PERL und gebe einen entsprechenden Hinweis aus.

Zum Anzeigen dieses Hinweises wird allerdings eine neue Seite geladen - man kommt also erst zur Formularseite, wenn man den Zurück-Button des Browsers benutzt (oder einen entsprechenden JavaScript-Link)

Das funktioniert alles ganz wunderbar.
Jetzt habe ich mich mal drangesetzt und versucht, die Fehlermeldungen in einem ganz normalen PopUp-Fenster zu laden.

Vorteil wäre, dass die Seite mit dem Formular im Hintergrund bleibt und die Fehlermeldung nur einen vorher bestimmten Platz am Bildschirm einnimmt.

Ich stelle mir das so vor:

if (Abfrage = wahr)
   {
   dann öffne mit JavaScript ein bestimmtes Fenster
   und halte Scriptverarbeitung an
   }

Und genau hier hänge ich.
Funktioniert das überhaupt so? Muss ich auf etwas bestimmtes achten?
Bin für Tipps und Hinweise dankbar.

Besten Dank im Voraus,

  • Christian -
  1. Hallo zusammen,

    Hallo Christian,
    Ich kenne mich zwar nicht mit perl aus, aber mit php funktioniert es wie unten beschrieben. Das geht mit perl bestimmt auch.

    auf einer Seite können User Daten eintragen. Leere (Pflicht-)Felder überprüfe ich mit PERL und gebe einen entsprechenden Hinweis aus.

    Zum Anzeigen dieses Hinweises wird allerdings eine neue Seite geladen - man kommt also erst zur Formularseite, wenn man den Zurück-Button des Browsers benutzt (oder einen entsprechenden JavaScript-Link)

    Das funktioniert alles ganz wunderbar.
    Jetzt habe ich mich mal drangesetzt und versucht, die Fehlermeldungen in einem ganz normalen PopUp-Fenster zu laden.

    Vorteil wäre, dass die Seite mit dem Formular im Hintergrund bleibt und die Fehlermeldung nur einen vorher bestimmten Platz am Bildschirm einnimmt.

    Ich stelle mir das so vor:

    if (Abfrage = wahr)
       {

    <script language="JavaScript">

    alert(Meldung);

    </script>

    }

    Und genau hier hänge ich.
    Funktioniert das überhaupt so? Muss ich auf etwas bestimmtes achten?
    Bin für Tipps und Hinweise dankbar.

    Besten Dank im Voraus,

    • Christian -
  2. Hallo zusammen,

    auf einer Seite können User Daten eintragen. Leere (Pflicht-)Felder überprüfe ich mit PERL und gebe einen entsprechenden Hinweis aus.

    Zum Anzeigen dieses Hinweises wird allerdings eine neue Seite geladen - man kommt also erst zur Formularseite, wenn man den Zurück-Button des Browsers benutzt (oder einen entsprechenden JavaScript-Link)

    Das funktioniert alles ganz wunderbar.
    Jetzt habe ich mich mal drangesetzt und versucht, die Fehlermeldungen in einem ganz normalen PopUp-Fenster zu laden.

    Warum machst du es nicht anders: Gib im Fehlerfall einfach nochmal das gesamte Formular aus, inklusive aller schon gemachten Eingaben, und schreibe in einer auffälligen Schriftfarbe an die Formularfelder deine Fehlerkommentare, die du ausgeben willst. Vorteil: Der User sieht direkt, wo er noch was eintragen muß, und er muß nicht hoffen, seine Eintragungen nochmal irgendwo in der History wiederzufinden.

    - Sven Rautenberg

    1. Hi,

      Jetzt habe ich mich mal drangesetzt und versucht, die Fehlermeldungen
      in einem ganz normalen PopUp-Fenster zu laden.

      im Prinzip würde ich eine solche Konsistenzprüfung eines Formulars _auch_
      mit JavaScript lösen, um die benutzerfreundliche Version zu bauen.

      Zusätzlich ist dann die zuverlässige, serverseitige Lösung erforderlich,
      die jedoch nur dann zum Einsatz kommt, wenn der Benutzer entweder JavaScript
      abgeschaltet oder in der URL-Zeile herumgefummelt hat. Diese darf dann in
      meinen Augen gerne weniger komfortabel sein - nach dem Grundsatz: Die Seite
      ist ohne JavaScript benutzbar, mit JavaScript aber schöner.

      Warum machst du es nicht anders: Gib im Fehlerfall einfach nochmal das
      gesamte Formular aus, inklusive aller schon gemachten Eingaben, und
      schreibe in einer auffälligen Schriftfarbe an die Formularfelder deine
      Fehlerkommentare, die du ausgeben willst.

      Dem schließe ich mich an.

      Um an dieser Stelle beide Techniken sogar kombiniert einzusetzen, könntest
      Du zusätzlich im onload-Event von <body> mit Hilfe von JavaScript auch noch
      den Focus in dasjenige Formularfeld mit dem ersten gefundenen Fehler setzen

      • dann muß der Benutzer nicht mal nach diesem Fehler suchen, sondern wird
        direkt dorthin 'geschubst'.

      Und um den (ggf. fehlerhaften) Inhalt dieses Feldes auch optisch hervorzu-
      heben, kannst Du diesen gleich auch noch selektieren - das hat den Vorteil,
      daß man sofort lostippen und den alten Inhalt damit überschreiben kann.

      Viele Grüße
            Michael

      1. Hi,

        »»
        im Prinzip würde ich eine solche Konsistenzprüfung eines Formulars _auch_ mit JavaScript lösen, um die benutzerfreundliche Version zu bauen.
        Zusätzlich ist dann die zuverlässige, serverseitige Lösung erforderlich, die jedoch nur dann zum Einsatz kommt, wenn der Benutzer entweder JavaScript abgeschaltet oder in der URL-Zeile herumgefummelt hat.
        »»

        Genau, so würde ich es gern machen.
        Momentan ist es so, dass alle Abfragen mit JavaScript funktionieren und auch schon ein Focus ins jeweilige Feld gesetzt wird.

        »»»»
        Warum machst du es nicht anders: Gib im Fehlerfall einfach nochmal das gesamte Formular aus, inklusive aller schon gemachten Eingaben, und schreibe in einer auffälligen Schriftfarbe an die Formularfelder deine Fehlerkommentare, die du ausgeben willst.
        »»»»

        @Sven: Das hatte ich auch schon mal probiert. Aber aus irgendeinem, mir unbekannten Grund, habe ich das nicht hingekriegt.
        Diese Lösung wäre wirklich die beste. Muß mich da nochmal dransetzen.

        »»
        ... den Focus in dasjenige Formularfeld mit dem ersten gefundenen Fehler setzen
        »»

        Siehe oben - wird bereits eingesetzt.

        Und - ja, ihr dürft laut loslachen - ich hatte stundenlang probiert, das o. g. PopUp-Fenster mit JavaScript zu aktivieren. Obwohl die Abfrage ohne JavaScript funktionieren soll! Oh Mann, plötzlich erkannte ich, wie sinnlos meine Arbeit war ... :)

        Danke für Eure Tipps,

        • Christian -