Seite 1 von 1

Fehler im JavaScript für Formularprüfung

Verfasst: 06.01.2007 15:29
von konne
Hallo,

kann mir vielleicht mal jemand verraten, wo der Fehler in folgendem Code-Schnipsel liegt. Hatte mit JavaScript bisher nicht soviel am Hut und kenne daher nicht die genaue Syntax.

Code: Alles auswählen

<script type="text/javascript">
  function formular_pruefen() {
    f = document.formular;
    t = f.t.value;
    m = f.m.value;
    j = f.j.value;
    result = true;
    text = '';
    if (t == '' || m == '' || j == '') {
      result = false;
      text += '- Datum fehlt!\n';
    }
    else {
      tmj = t + '.' + m + '.' + j;
      dateform = /\d\d\.\d\d\.\d\d\d\d/;
      if(!tmj.match(dateform) {
        result = false;
        text += tmj + '- falsches Datumsformat!\n';
      }
      else {
        var heute = new Date();
        var datum = new Date(f.j.value,f.m.value,f.t.value);
        if(datum.getTime() > heute.getTime()) {
          result = false;
          text += '- Datum liegt in der Zukunft!\n';
        }
      }
    }
    if (f.start.value == '') {
      result = false;
      text += '- Start fehlt!\n';
    }
    if (result == false) {
      alert(text);
    }
    return result;
  }
</script>

<?PHP
    echo '<form action="'.$PHP_SELF.'" method="post" name="formular" onSubmit="return formular_pruefen()">';
    echo '<table class="trans"><tr>';
    echo '<td class="t_norm"><nobr><input type="Text" name="t" size="1" maxlength="2">.<input type="Text" name="m" size="1" maxlength="2">.<input type="Text" name="j" size="2" maxlength="4"></td>';
    echo '</tr><tr>';
    echo '<td class="t_norm"><input type="Text" name="start" maxlength="11"></td>';
    echo '</tr><tr>';
    echo '<td class="t_norm"><center><input class="input" type="submit" value="Submit"></center></td>';
    echo '</tr></table>';
    echo '</form>';
?>

Verfasst: 08.01.2007 08:36
von konne
Nanu,

ist denn kein Experte in Sachen JavaScript zugange?

Verfasst: 08.01.2007 09:47
von Jensemann
konne hat geschrieben:Nanu,

ist denn kein Experte in Sachen JavaScript zugange?
Wahrscheinlich haben die Experten keine Lust sich die Mühe zu machen den Fehler zu suchen, wenn du dir nichtmal die Mühe machst eine Fehlermeldung zu posten, geschweige denn Angaben dazu machst was das Script tuen soll und was es tatsächlich macht oder eben nicht macht.

Verfasst: 08.01.2007 10:17
von PhilippK
ggf. mal http://www.getfirebug.com/ anschauen.

Gruß, Philipp

Verfasst: 08.01.2007 12:47
von konne
PhilippK hat geschrieben:ggf. mal http://www.getfirebug.com/ anschauen.

Gruß, Philipp
Werd ich mir gleich mal installieren.

Aber noch einmal kurz zum Script:
Ich habe dort ein Formular Namens "formular" in dem ein Datum (Tag=t, Monat=m und Jahr=j) sowie ein Textfeld (start) auszufüllen sind. Das JavaScript "formular_pruefen()" soll onSubmit die Eingaben prüfen und ggf. Fehlermeldungen ausgeben.

Sind alle Datumsfelder gefüllt?
Sind in den Datumsfeldern nur Zahlen?
Liegt das eingegebene Datum in der Zukunft?
Ist das start-Feld gefüllt?

Vielleicht kann mir mit dieser gewünschten Funktionsbeschreibung jemand beim Aufspüren des Fehlers behilflich sein oder einen verbesserten Algorithmus nennen.

Verfasst: 08.01.2007 12:51
von konne
konne hat geschrieben:Werd ich mir gleich mal installieren.
Klasse Tool - Fehler in 0,nix gefunden.
Eine verdammte Klammer hatte gefehlt.