Thomas Schenkeli: Datenkonsistenzprüfung beim Verlassen eines input-feldes

Beitrag lesen

Hallo Thomas!

ich habe eine Javascript Funktion, die beim Verlassen eines Input-Feldes prüft, ob eine Zahl eingegeben wurde. Falls nicht, wird eine Alert-Message angezeigt und das betroffene Inputfeld wird wieder selektiert. Somit ist es nicht möglich, das Feld zu verlassen ohne eine gültige Eingabe zu machen.

function isNumber(inputField, alertMsg)
{

[...Zusätzliche Überprüfungen ...]

if((inputField.value == '') || !isNaN(inputField.value))
  {
    return true;
  }
  else
  {
    alert(alertMsg);
    try
    {
      inputField.focus();
      inputField.select();
    }
    catch (e) {}
    return false;
  }
}
Das funktioniert unter Internet Explorer perfekt

Das wundert mich.

if(inputField.value == '') return true
Akzeptiert doch, dass keine Zahl eingegeben wurde.

Es handelt sich um kein Pflichtfeld, somit ist ein Leer-String auch akzeptabel. Wird das Feld als Pflichtfeld definiert greift eine andere Abfrage (die Pflichtfeldkontrolle eben).

if(!isNaN(inputField.value)) return true
Akzeptiert doch auch, dass keine Zahl eingegeben wurde.

isNaN gibt true zurück falls es sich um keine Zahl handelt. und false, falls es sich um eine Zahl handelt. Darum die Verneinung, weil ich möchte ja quasi true zurück bekommen wenn es eine Zahl ist.

Viele Grüße

lg

H-P Ortner

Thomas