String Actionscript获取输入并与Int进行比较

String Actionscript获取输入并与Int进行比较,string,actionscript-3,int,var,String,Actionscript 3,Int,Var,我试图使用输入文本字段从用户处获取输入,该数据是一个数字。我希望用户输入正确的数字(在本例中为1),然后打印yay 然而,我不能让它工作。非常感谢您的帮助 我认为问题在于比较int和string,但老实说,我不再确定了 import flash.events.MouseEvent; import flash.text.TextField; var dayVar:String = dayInput.text; var dayNum:Number = Number(dayVar); stop(

我试图使用输入文本字段从用户处获取输入,该数据是一个数字。我希望用户输入正确的数字(在本例中为1),然后打印yay

然而,我不能让它工作。非常感谢您的帮助

我认为问题在于比较int和string,但老实说,我不再确定了

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");
    }
}

可以对文本字段输入使用“限制”属性,如下所示:

dayInput.restrict = "0-9";

这应该省略仅键入数字。

您可以对文本字段输入使用限制属性,如下所示:

dayInput.restrict = "0-9";

这应该省略仅键入数字。

用户输入后,您必须更新您的
dayVal
和/或
dayNum
。因此,在这种最小情况下,您可以简单地:

function mouseDownHandler3(event:MouseEvent):void{
    if(Number(dayInput.text)==1) {
        trace("yay");
    } else {
        trace("nay");
    }
}

其他可能的方法是监听文本输入,或者更新变量,但在这种情况下,
MouseEvent
处理程序会更容易地完成这项工作。

在用户给出输入后,您必须更新您的
dayVal
和/或
dayNum
。因此,在这种最小情况下,您可以简单地:

function mouseDownHandler3(event:MouseEvent):void{
    if(Number(dayInput.text)==1) {
        trace("yay");
    } else {
        trace("nay");
    }
}

其他可能是监听文本输入,或更新变量,但在这种情况下,
MouseEvent
处理程序会更轻松地完成这项工作。

在用户输入后的某个时间点,是否更新
dayVar
?如果不是,请尝试
If(Number(dayinport.text)==1){
而不是当前的If条件。@kaarto谢谢!这就是问题所在。是否在用户输入后的某个时间点更新
dayVar
?如果不是,请尝试
If(Number(dayinport.text)==1){
而不是当前的If条件。@kaarto谢谢!这就是问题所在。