Bogus: oder (JavaScript) Formulardaten vor dem absenden überprüfen...WIE?

Hallo Experten!

Wie kann ich die daten die in ein formular eingegeben wurden vor dem absenden überprüfen?

oder: wenn die daten an ein cgiscript gesendet werden und das script feststellt die daten stimmen nicht, kann ich dann mittels cgi ein 'history.back' ausführen?

ich bräuchte das ganze, damit ein user die daten bei einem fehler nicht nochmal eingeben muss.
ACHTUNG! ich weiss man könnte per cgi-script die bereits eingegebenen daten als 'value' verwenden. dies ist aber nicht möglich!!!! das zu erklären würde zu lange dauern!

vielleicht kann mir ja jemand helfen
cu
BOGUS

  1. Hi Bogus,

    Ich habe Dich so verstanden, daß Du die Richtigkeit/Komplettheit der Eingabefelder überprüfen willst.

    Du weißs sicher, daß eine e-mail-adresse nur auf richtige Syntax, nicht jedoch auf Echtheit geprüft werden kann :-(
    <script language="JavaScript">
    <!--

    var errfound = false;

    function CheckLength(item, length) {
    return (item.length >= length);
    }
    function CheckEmail(item) {
    if (!CheckLength(item, 5)) return false;
    if (item.indexOf ('@', 0) == -1) return false;
    return true;
    }

    function check() {
    errfound = false;
    if (!CheckLength(document.Formular.name.value,3))
    error(document.Formular.name,"Bitte Namen eingeben!");

    if (!CheckEmail(document.Formular.email.value))
    error(document.Formular.email, "e-Mail-Adresse ungueltig!");
    return !errfound;
    }
    //-->
    </script>

    Du mußt die Namen der Felder Deines Formulares anpassen.

    Dieses Script hat gegenüber dem Beispiel in SELFHTML den Vorteil, daß die Syntax, nicht nur die Eingabe überprüft wird.

    Probier es einfach aus.
    Hoffe ich habe beim Ausschneiden nichts vergessen.

    Gruß

    Harald Legler

    1. Ok, Du warst schneller!

      Bogus,

      siehe auch
      http://www.teamone.de/selfaktuell/emailcheck.htm

      Gruß Henk

      1. Ok, Du warst schneller!

        Hi Henk,

        wir machen doch keine Wettrennen ;-) Deine Lösung hatte ich zuerst im Sinn, doch wenn man bei E-mail irgend einen Quatsch eingibt, wird nichts reklamiert...

        Hauptsache Bogus hat eine schöne auswahl an Lösungen....

        Bis dann

        Harald

  2. Hallo Experten!

    Wie kann ich die daten die in ein formular eingegeben wurden vor dem absenden überprüfen?

    oder: wenn die daten an ein cgiscript gesendet werden und das script feststellt die daten stimmen nicht, kann ich dann mittels cgi ein 'history.back' ausführen?

    ich bräuchte das ganze, damit ein user die daten bei einem fehler nicht nochmal eingeben muss.
    ACHTUNG! ich weiss man könnte per cgi-script die bereits eingegebenen daten als 'value' verwenden. dies ist aber nicht möglich!!!! das zu erklären würde zu lange dauern!

    vielleicht kann mir ja jemand helfen
    cu
    BOGUS

    Einfach mit Javascript <form onsubmit="return checkform()"...

    wenn checkform "false" zurückgibt, wird das absenden verhindert.

    checkform kann z.B. so aussehen:

    function checkform()
    {
      
    if(document.mailform.Name.value == "")
        {
         alert("Gib bitte Deinen Namen ein!");
           document.mailform.Name.focus();
         return false;
        }
    }

    so stehts auch in Selfhtml irgendwo!

    Gruß

    Henk

  3. Hallo Experten!

    Wie kann ich die daten die in ein formular eingegeben wurden vor dem absenden überprüfen?

    Moin,
    wenn es nur darum geht zu prüfen ob überhaupt eine Eingabe erfolgte, empfehle ich das so zu machen:

    ---form---
    <input name='Mein Name'>
    ---form---

    ---cgi---
    require "cgi-lib.pl"; #http://cgi-lib.stanford.edu/cgi-lib/
    &ReadParse; # Eingabe auslesen
    if(!$in{'Mein Name'}){
    CgiDie("Eingabe fehlt!","...bitte Namen eingeben");
    }
    ---cgi---

    Das heisst, der CGI-Prozess wird bei einer fehlenden Eingabe abgewürgt (die=stirb). Drückt der Benutzer am Browser (IE4, 5) die Backspace-Taste, so sind im Formular die restlichen Inputfelder noch so wie eingegeben.

    Ansonsten müsstest Du mit RegExp arbeiten, um Eingaben auf bestimmte Schemen oder unerlaubte Zeichen zu prüfen.

    kiliani