Eingabefeld auf Wert checken

Metallica

Lounge-Member
hi leuts,

auf meinem eingabefeld liegt ein onClipEvent.

Erreichen will ich, dass es bei der eingabe nicht möglich sein soll, zwei ".." einzugeben und es soll auch nicht möglich sein nichts nach dem punkt einzugeben (also nicht "4.") und auch nicht umgekehrt (also nicht ".4") einzugeben.
wie mach ich das?
PHP:
onClipEvent (enterFrame) {
		oldbet = new String(_root.bet);
        lastkey = oldbet.substr(-1,1);
        idx = oldbet.indexOf(".");
        if(idx >= 0) {
                if((lastkey ne "5" && lastkey ne ".") || oldbet.length-idx > 2) { //hier hab ich mit indexOf herumprobiert, aber leider nicht erfolgreich !?!?
                        oldbet = oldbet.substring(0, (oldbet.length)-1);
                        _root.bet = oldbet.toString ();
                }
        } else {
                if (isNaN (lastkey) eq "true" && lastkey ne ".") {
                        oldbet = oldbet.substring(0, (oldbet.length)-1);
                        _root.bet = oldbet.toString ();
                }
        }
}
 
flash 5!
es muss also mit dem fla5-player laufen.

deswegen scheidet sowas wie "charAt" leider schon mal aus.

es gehört nur diese if erweitert - das ist alles, aber leider bekomm ich's nicht hin:
PHP:
if((lastkey ne "5" && lastkey ne ".") || oldbet.length-idx > 2) {
:confused:
 
boah .... schade ... weil sonst hättest du super easy restrict nehmen können.

meinfeld.restrict = "0-9";

jetzt werden nur zahlen in deinem textfeld zugelassen ... so einfach ist das mit flash mx und höher ...

nachher guck ich mal ...
 
fast vergessen ... aber hier ...

PHP:
String.prototype.str_restrict = function(r) {

	for(x=0;x<r.length;x++) {
	
		s = this.indexOf(String(r[x]));
		if(s>-1) return this.substr(0,s+1);
	}
};

str = "3894..";

trace(str.str_restrict( [".."] ));

in die funktionsklammer werden die zeichen die nicht erlaubt sind als array angegeben. also so: ["..","-","+","/","%"]

in deinem fall sehe es dann so aus:

PHP:
oldbet = new String(_root.bet);

_root.bet = oldbet.str_restrict( [".."] ));

du must es nur noch in eine keyDown-function setzten.
 
Zuletzt bearbeitet:
quote:
"du must es nur noch in eine keyDown-function setzten."

=> weiß nicht genau was du da meinst. ich würde deinen code in mein onClip-Event übernehmen. Ist das falsch???
 
Zurück
Oben