Hallo,
ich habe eine seltsamen Effekt.
Eine Prüfroutine (max8ziffern) wird zweimal aufgerufen,
das erste Mal, wenn ein Formularfeld geändert wird und ein zweites Mal, wenn das Formular abgesendet wird.
Die Pruefroutine befindet sich in einem externen Skript "pruefungen".
Ablauf:
Formulareingabe => Aufruf max8ziffern in pruefungen
Senden => Aufruf Formulartest in pruefungen
In der Routine Formulartest Aufruf von max8ziffern
Die Funktion max8ziffern wird nur mit einem skalaren Wert versorgt.
Dieser wird mit einem regulären Ausdruck getestet.
Bei beiden Aufrufen ist der übergebene Wert identisch (zig-mal verifiziert)
Beim ersten Aufruf wird ein Fehler erkannt, beim zweiten nicht!
Jetzt habe ich zum "Spass" die Routine Feldtest nochmals unter einem anderen Namen angelegt und in der Routine Formulartest diese Routine aufgerufen.
Und siehe da, es läuft!
Die Routine ist ganz trivial:
function max8ziffern(s)
{
if ( /([0-9]{9,})/g.test(s) )
{return false}
return true
}
Hat mir jemand eine Lösung?