TextField as3获取输入

时间:2013-08-17 10:31:50

标签: actionscript-3 actionscript

我有一个问题,我无法解决,我想问我做错了什么。这个想法应该是当我创建文本字段时我想从中读取它,但它不是

function click2(e:MouseEvent):void{
    e.currentTarget.removeEventListener(MouseEvent.CLICK, click2);
    fx=e.target.x+400;
    fy=e.target.y+300;
    var i:int;
    i=2;
    trace(str);
    trace(e.target.name);
    var  line:Shape = new Shape();
    line.graphics.lineStyle(1,0xFF0000,2);
    line.graphics.moveTo(sx,sy);
    line.graphics.lineTo(fx,fy);
    this.addChild(line);
    var inputField:TextField = new TextField();
    inputField.border = true;
    inputField.type = TextFieldType.INPUT;
    inputField.width = 23;
    inputField.height = 18;
    inputField.x = (sx+fx)/2;
    inputField.y = (sy+fy)/2;
    inputField.multiline = false;
    inputField.maxChars = 3;
    inputField.restrict = "0-9"; 
    str=inputField.text;
    addChild(inputField);
}

在这段代码中我创建了一条线,在它附近出现了一个文本字段,你需要输入该行的值,但我不能得到它,当我想跟踪STR值时,它是null,文本应由用户编写,我应该阅读...

1 个答案:

答案 0 :(得分:1)

如果要检查用户添加到textinput的数据,您必须监听change-event。之后,您可以访问提供的文本。

function click2(e:MouseEvent):void{
    ...
    inputfield.addEventListener(Event.CHANGE, checkInput);
}

function checkInput(e:Event):void {
    //receive input value and validate it
    var textfield:TextField = e.target as TextField;
    var str:String = textfield.text;
    ...
}