if-statement - ActionScript 3.0 - 文本字段的 Else If 条件
问题描述
我需要做一个 If/Else 条件。
我用 Adobe Flash 制作了一个表单,在第一页,我需要制作一个登录表单。我想做输入文字,但输入文字必须填写。如果输入文本为空,如果必须填写表格,我想发出警报。在我的想法中,我有一个名为nama.text
的输入文本,在输入文本的底部,我放置了一个名为next.bt
. 然后,我将动态文本“alert.text”放在按钮底部。
我的问题:
我想,如果用户按下带有填充输入文本的按钮,用户将直接进入下一帧。但是,如果输入文本为空,我想发出警报“必须填写 Nama”并让用户留在此页面中,并且在填写 Nama.text 之前无法转到下一帧。我对我的英语感到很抱歉,但我希望这里的每个人都能理解我的问题。
解决方案
“我想,如果用户按下的按钮带有填充的输入文本,用户将直接转到下一帧。但是,如果输入文本为空,我想发出警报“必须填写Nama”并让用户留下在此页面中,并且在
Nama.text
填充之前无法转到下一帧”
(1) 永远不要使用.
(例如:句号)作为变量名的一部分。句号对 AS3 编译器意味着其他的东西。通常它的意思是“属于这个变量的属性”。也许重命名为txt_Nama
?
(2) 您可以查看AS3 手册中的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 有自己的时间线,并会转到自己的帧,如舞台。如果您告诉 Stage 移动到另一帧,那么您的代码可能无法正常工作
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.
推荐阅读
- python - 如何使用 Python 在单个图表上绘制多种数据?
- python - 如何验证数字翻译器?
- razor - TM 符号在 Kendo 窗口标题中呈现为 ™
- spring-boot - spring webflux 如何在 webfilter 中获取请求正文?
- ios - 检索场景中所有可用的 SCNbox、SCNNode 并显示、隐藏它们
- php - 在 foreach 循环中更新数组数据的问题
- c# - DatagridView C# 列的总和
- vba - 公式太长 - 达到字符限制 - VBA 可以工作吗?
- android - 两个 Android 手机/设备的设备 ID 可以相同吗?
- pandas - 用 Pandas 绘制分类数据的摘要