stefan: Formularfeld prüfen, ob numerische Eingabe

huhu,
ich würde gerne in einem Formular mit Java Script prüfen, ob das Feld "ab" einen Zahlenwert enthält. Mein Konstrukt funktioniert noch nicht wirklich. Es prüft zwar, ob in "ab" ein Zahlenwert eingetragen wurde, nach dem Korrigieren wird das Formular allerdings nich abgeschickt.
Hilfe...
Danke im Voraus
stefan
Formularfeld:
<tr>
    <td>ab dem<br><input type="text" name="ab" size="20"></td>
    <td>Bitte nur Zahle eingeben.<br>Bsp:05.06.01</td>
</tr>

Script:
<script language="JavaScript">

function check() {
        ok = true;
        meldung = "Folgende Angaben stimmen noch nicht:\n\n";

if (document.forms[0].ab.value == "") {
                ok = false;
                meldung = meldung + "Bitte nur Zahlen einfügen.\n";
return
        var test = parseFloat(document.forms[0].ab.value)
        if(!isNaN(test))
        {
        document.forms[0].ab.value = test
        return
        }
        }

meldung = meldung + "\nBitte korrigieren Sie die Angaben!"
        if (ok) {
                alert("Formular ist in Ordnung und wird abgeschickt!");
                document.forms[0].submit();
        } else {
                alert(meldung);
        }
}
</script>

  1. hi stefan, bin mir nicht ganz sicher, ob ich dein problem begriffen
    habe. dass das form nicht abgeschickt wird kann daran liegen, dass dein submit button den namen "submit" hat. das stört sich mit javascript, da submit ein reservierter name ist. ändere ihn doch in senden oder so

    (zugegebenermassen, habe das script nicht von a-z durchgeschaut. dies ist jedoch ein fehler, an dem ich mir ewigkeiten die zähne ausgebissen habe)

    gruss stephan.

  2. Hi,

    eine gute Möglichkeit ist wohl folgende:

    Füge onchange="value=value.replace(/\D/g,'');" in dein INPUT-Feld ein. Beim verlassen des Feldes oder abschicken des Forumlars werden alle nicht-numerischen Zeichen aus dem INPUT-Feld entfernt.

    m.

    1. Hi,

      eine gute Möglichkeit ist wohl folgende:

      Füge onchange="value=value.replace(/\D/g,'');" in dein INPUT-Feld ein. Beim verlassen des Feldes oder abschicken des Forumlars werden alle nicht-numerischen Zeichen aus dem INPUT-Feld entfernt.

      m.

      danke,
      funktioniert. Nur geht das auch um Datumsfunktionen zu prüfen?
      Das heißt, das Feld das zu prüfen ist, muss eigentlich ein Datum übermitteln und die funktion onchange löscht die Punkte zwischen den Angaben. Also so: z.B. 070801

      1. Hallo,

        das mit dem Datum ist schwieriger. Du musst den sogeannten regulären Ausdruck /\D/g modifizieren.

        Mach doch lieber 3 einzelne Textfelder [  ].[  ].[    ] (oder besser [    ]-[  ]-[  ] für YYYY-MM-DD, das neue internationale Datumsformat). Irgendeine JavaScript-Funktion kann auch noch überprüfen, ob es sich um ein Datum handelt.

        m.

        1. Hallo,

          das mit dem Datum ist schwieriger. Du musst den sogeannten regulären Ausdruck /\D/g modifizieren.

          Mach doch lieber 3 einzelne Textfelder [  ].[  ].[    ] (oder besser [    ]-[  ]-[  ] für YYYY-MM-DD, das neue internationale Datumsformat). Irgendeine JavaScript-Funktion kann auch noch überprüfen, ob es sich um ein Datum handelt.

          m.

          sorry,
          aber muss ich das auch ins Input Feld schreiben?
          danke und grüsse stefan

          1. Hallo,

            das mit dem Datum ist schwieriger. Du musst den sogeannten regulären Ausdruck /\D/g modifizieren.

            Mach doch lieber 3 einzelne Textfelder [  ].[  ].[    ] (oder besser [    ]-[  ]-[  ] für YYYY-MM-DD, das neue internationale Datumsformat). Irgendeine JavaScript-Funktion kann auch noch überprüfen, ob es sich um ein Datum handelt.

            m.

            sorry,
            aber muss ich das auch ins Input Feld schreiben?
            danke und grüsse stefan

            ähämm,
            hat sich erledigt die Frage...
            dank Dir Grüsse stefan