ActionScript 3.0-如果文本字段没有其他条件

时间:2019-02-28 14:12:44

标签: if-statement flash actionscript

我需要做一个If / Else条件。

我使用Adobe Flash制作表单,在第一页上,我需要制作一个登录表单。我想输入文本,但是必须填写输入文本。如果输入文本为空,则我想提醒是否必须填写表格。在我的想法中,我有一个名为nama.text的输入文本,在输入文本的底部,有一个名为next.bt的按钮。然后,将动态文本“ alert.text”放在按钮的底部。

我的问题:

我想要的是,如果用户按下按钮时输入的文本已填满,则用户将直接转到下一帧。但是,如果输入文本为空,我想发出警报“必须填写Nama”,并使用户停留在此页面中,直到Nama.text被填充之前,不能转到下一帧。我为我的英语感到很抱歉,但我希望这里的每个人都能理解我的问题。

1 个答案:

答案 0 :(得分:1)

  

”“我想要的,如果用户按下按钮并输入了填充文本,则用户   将直接转到下一帧。但是,如果输入文本为空,我   想要发出警报“必须填充纳马”并让用户停留在此   页面,直到Nama.text填满后才能转到下一帧。

(1)永远不要将.例如:句号)用作变量名的一部分。句号对AS3编译器意味着其他意义。通常,它表示“属于此变量的属性” 。也许重命名为txt_Nama

(2)您可以检查AS3 manual for Textfield options。其中之一是名为.length的属性。这告诉您文本字段中存在多少个字符。

因此,在用于处理Next按钮的点击功能中,

if (txt_Nama.length <= 1) //if smaller or equal to 1
{
    //if Smaller-than or Equal-to 1 then not enough chars typed
    showTheAlert(); //tell AS3 to do this function
}
else
{
    //if larger than 1 then something was typed
    mc_Pages.gotoAndStop(2); //tells content MovieClip go to its frame 2
}

然后创建一个单独的函数来处理警报的显示(不要将此函数放在另一个函数的内部)

function showTheAlert() :void
{
    trace("No name was typed. Try again...");

    //# Do something here like make some "warning" MClip visible
    //maybe... mc_Alert.addChild;
    //or... mc_Alert.visible = true;
} 

(3)我建议您创建一个MovieClip对象来保存您的内容或页面。 MClip具有自己的时间轴,并转到舞台等自身的框架。如果您告诉舞台移至另一帧,则您的代码可能无法正常工作

someMC.gotoAndStop(5); //# Correct... tells MovieClip to move frames. Code works because and MovieClip are on same Stage frame.

gotoAndStop(5); //# Wrong... tells Stage to move frames. Code only works on other frame where it is typed.