2013-05-31 4 views
0

Я пытаюсь скрыть кнопку отправки в форме до тех пор, пока необходимые поля не будут заполнены с помощью кнопки checkForm и операторов if. У меня проблемы с работой, и я изучаю возможные ответы, но я застрял. Я задавался вопросом, посмотреть ли кто-нибудь на мой код ниже и указать мне в правильном направлении.Использование условных операторов для проверки текстовых полей в AS3

submit_btn.visible=false; 
checkForm_btn.addEventListener(MouseEvent.CLICK, entryTest) 
function entryTest():void{ 
arguments; 
if (name_txt.text != "") 
trace("name needs completing"); 
else if (email_txt.text != "") 
trace("email needs completing"); 
else if (question_txt.text != "") 
trace("question needs completing"); 
else submit_btn.visible=true; 
} 

Настоящая копия кода, которую я отредактировал после нескольких предложений, но она по-прежнему работает неправильно. Я получаю только вывод для первого оператора if.

submit_btn.visible=false; 
checkForm_btn.addEventListener(MouseEvent.CLICK, entryTest) 
function entryTest(event:MouseEvent):void{ 
    if(name_txt.text != ""){ 
    trace("name needs completing"); 
    } else if(email_txt.text != ""){ 
    trace("email needs completing"); 
    } else if(question_txt.text != ""){ 
    trace("question needs completing"); 
    } else { 
    submit_btn.visible = true 
    } 
} 
+1

что 'аргументы,' в строке 4, предполагают, чтобы быть? – TheDarkIn1978

+0

Я поставил аргументы в попытке разрешить ошибки, которые я получал, но теперь я добавил фигурные скобки, так что строка не нужна. – user2441304

+0

тесты должны быть отменены на '==' вместо '! =' – scunliffe

ответ

1

У вас есть синтаксическая ошибка.

else (submit_btn.visible=true); 

должен быть

else 
    submit_btn.visible = true; 

Чтобы быть полным, хотя, ваша кнопка обработчик события должен быть объявить тип данных ожидается на событие, которое прошло ... и вы, вероятно, обнаружите, что с помощью брекет {} чтобы обернуть ваши блоки кода, должно помочь выяснить, что является условием и каков код, выполняемый при выполнении этого условия. (Это также позволяет легко добавлять/удалять больше кода без необходимости знать, если вам нужно добавить скобки или нет)

function entryTest(event:MouseEvent):void{ 
    if(name_txt.text == ""){ 
    trace("name needs completing"); 
    } else if(email_txt.text == ""){ 
    trace("email needs completing"); 
    } else if(question_txt.text == ""){ 
    trace("question needs completing"); 
    } else { 
    submit_btn.visible = true; 
    } 
} 
+0

Как было предложено в вашем сообщении выше, я использовал фигурные скобки вокруг блоков кода, но я все еще получаю только подтверждение для первого оператора if. Я также сменил операторов на! =. Любые другие идеи? – user2441304

+0

submit_btn.visible = false; checkForm_btn.addEventListener (MouseEvent.CLICK, entryTest) Функция entryTest (событие: MouseEvent): void { if (name_txt.text! = "") { trace ("name нуждается в завершении"); } else if (email_txt.text! = "") { след («заполнение электронной почты»); } else if (question_txt.text! = "") { след («вопрос нуждается в завершении»); } else { submit_btn.visible = true } } – user2441304

+0

Я скопировал ваши изменения кода, но я думаю, что они должны быть отменены. Вы хотите сравнить с пустой строкой и только продолжить, если она заполнена (в настоящее время вы попадаете в первое условие и, таким образом, не показываете кнопку) – scunliffe

Смежные вопросы