我正在尝试使用输入文本字段从用户那里获取输入,此数据是一个数字。我希望用户输入正确的数字(在这种情况下为1),然后打印出yay。
然而,我无法让它发挥作用。非常感谢任何帮助。
我认为问题与比较int和字符串有关,但老实说我不再确定了。
import flash.events.MouseEvent;
import flash.text.TextField;
var dayVar:String = dayInput.text;
var dayNum:Number = Number(dayVar);
stop();
button3.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler3);
function mouseDownHandler3(event:MouseEvent):void
{
if(dayNum == 1) {
trace("yay");
} else {
trace("nay");
}
}
答案 0 :(得分:3)
在用户提供输入后,您必须更新dayVal
和/或dayNum
。所以在这个极小的情况下你可以简单地说:
function mouseDownHandler3(event:MouseEvent):void{
if(Number(dayInput.text)==1) {
trace("yay");
} else {
trace("nay");
}
}
其他可能性正在监听Event.CHANGE以获取文本输入,或KeyboardEvent更新您的变量,但在这种情况下,MouseEvent
处理程序可以更轻松地完成工作。
答案 1 :(得分:-1)
您可以使用限制属性进行文本字段输入,如下所示:
dayInput.restrict = "0-9";
这应该省略只键入数字。