Glory: Als Eingabe in Formularfeld nur Ziffern zulassen

Beitrag lesen

Gibt es eine Möglichkeit, Eingaben in Formularfelder so zu filtern, dass nur Ziffern akzeptiert werden: In Handbüchern und im Forum bin ich nicht fündig geworden.
Gruß von
Peter Riedel

Vielleicht so:

  
<script type="text/javascript">  
function NurNummernBitte(obj)  
{  
 setTimeout( function () { NurNummernBitte2(obj) }, 0);  
}  
  
function NurNummernBitte2(obj)  
{  
 try  
 {  
  if ( obj.value.search(/\D/) != -1)  
  {  
   obj.value = oldValue;  
  }  
  else  
  {  
   oldValue = obj.value;  
  }  
 }  
 catch (e)  
 {  
  oldValue = obj.value;  
 }  
}  
</script>

Und dann:

  
<form action="da.php" method="get">  
 <input onkeypress="nurNummernBitte(this);">  
</form>

Das ist aber quick&dirty. Am besten solltest du global events abfangen (sowohl tastatur als auch maus), gucken ob der Fokus auf das entsprechende Input gesetzt ist und dann ggf. die Eingabe auf Nichtnummern überprüfen und diese abfangen. Der Iiiihventhändler onchange wollte mich übrigens für doof verkaufen.

Gruß, Glory.