2013-08-17 2 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, оно равно null, текст должен быть написан пользователем, и я должен прочитать его ...

+0

Вы не присваиваете текст текстовому полю. Так почему же в этом что-то есть? –

ответ

1

Если вы хотите проверить данные, добавленные пользователем в текстовую строку, которую вы должны прослушать для события change. После этого вы можете получить доступ к предоставленному тексту.

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; 
    ... 
} 
Смежные вопросы