2013-08-17 57 views
0

我有一個問題女巫我無法解決,我想問我做錯了什麼。這個想法應該是,當我創建的文本框,我想從中讀取數據,但它不TextField as3獲取輸入

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值,它是空的,文本應該由用戶寫,我應該讀它...

+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; 
    ... 
}