"Я хочу, если пользователь нажал кнопку с заполненным текстом ввода, пользователь сразу перейдет к следующему кадру. Но если текст ввода пуст, я хочу сделать предупреждение"Nama должен быть заполнен "и заставить пользователя оставаться на этой странице и не может перейти к следующему кадру, пока не заполнится Nama.text
"
(1) Никогда не используйте .
( например: fullstop) как часть имени переменной.Fullstop означает что-то еще для компилятора AS3.Обычно это означает «свойство, принадлежащее этой переменной» .Может быть переименовать в txt_Nama
?
(2) Вы можете проверить руководство AS3 для Текстовое поле Опции .Одним из них является свойство под названием .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.Если вы скажете 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.