Textfeld nur Zahlen und Kommas erlauben

goto;

Erfahrenes Mitglied
Hallo Ihr,
hab da ein kleines Problem, habe eine Checkbox die nur Aktiviert werden soll sobald ich eine Zahl oder ein Komma in ein Textfeld eintrage.
So sieht die Sache zurzeit aus:
HTML:
<input type="checkbox"  id="offer_ch" name="is_offer" value="1" <? echo ($item_details['is_offer']==1) ? 'checked' : ''; ?> />


<input type="text" name="offer_min" onkeyup="document.getElementById('offer_ch').checked=(this.value.search(/^\d+$/)!=-1)?true:false;" value="<?=$item_details['offer_min'];?>" size="8">

Nur leider, wird meine Checkbox deaktiviert sobald ich ein Komma eintrage, irgendwie will es mir nicht gelingen ein Komma zu erlauben. Naja, es hat schon mal geklappt nur wurden dann auch Buchstaben erlaubt. Ich hoffe Ihr könnt helfen. Danke
 
Hallo,

eine direkte Lösung für dein Problem kann ich dir leider nicht liefern, aber das erinnert mich ganz stark an den Ausspruch eines klugen Mannes "Wenn du etwas in einer anderen Sprache als Javascript lösen kannst, dann tue es." .
Stringverarbeitung ist definitiv nicht einfach in JS und manches absolut unmöglich. Wen also stört es, daß der User hier auch Buchstaben mit eingeben kann. Da das ja wohl Teil eines Formulars ist, mußt du die Eingaben hinterher sowieso noch prüfen. Also filterst du dann z.B. mit preg_replace() alles raus, was nicht Zahl oder Komma ist.
 
Hi,

ansonsten sollte es auch so funktionieren:
Code:
document.getElementById('offer_ch').checked=(this.value.search(/^[\d,]+$/)!=-1)?true:false;

Ciao
Quaese
 

Neue Beiträge

Zurück