![]() |
Проверка текстового поля на "ничего не введение"!
Народ помогите, вот есть текстовое поле Input (var name) и рядом кнопка, по нажатию на которую запоминается введенное в поле name в какую-то переменную _root.username и делается переход на следующий кадр данного мувика movie:
on (press) { _root.username=name; _root.movie.gotoAndStop (2); } а если ничего не введено, то нужно переходить на третий кадр movie, а как проверить введено ли что-нибудь? :D |
переменная текстового поля без текста равна ""
имя поля _root.field если _root.field=="" то ничего невведено. |
к сожалению...
...так не пашет! Я пробовал это уже давно! Другие варианты есть?
|
секунду щас сделаю!
|
on (release) {
if (_root.textfield == "name") { _root.gotoAndStop(2); } else if (_root.textfield == "") { gotoAndStop(3); }else{ _root. stop() } } |
Вложений: 1
без слов...
|
люди, вы чего, на днях настолько перепили ?.. =)))
нужно всего-то проверить что длина строки в поле больше нуля =) то есть достаточно написать: if (_root.username.length) { // зашибись ! } else { // не катит ! } 2Usnul "потому что" пишется "because" а если ты хочешь сказать "вы ничего не написали", то правильно будет: "you didn't write anything" :)))) |
охренеть!
я понял, что ты тут самый умный, да я нехрена незнаю английский, но в английской винде, я немогу писать по русски! в школе я учил фашистский, а теперь живя в Англии приходится "трахаться" с английским, так что не доставай меня .. а ели хотел что-то умное двинуть, то либо молча, либо первым споватился бы! |
Нокс, а что if (_root.username == "") {... намного длиннее, чем if (_root.username.length) {...? Я конечно много выпил, но...:)) Или не понял чего то.
Usnul, ты чего так нервничаешь? |
2Usnul
таааак.... ну не надо на меня наезжать только, ладно ? =) я ж по-хорошему шутил =) смайлики видишь ? объясняю: твой пример НЕ РАБОТАЕТ :)) потому что если сначала ввести имя, а потом его стереть, текстовая переменная уже НЕ БУДЕТ РАВНА undefined :) поэтому правильный ответ см. в моем посте... =) и не нервничай так =) 2derhab хех... да дело в том, что если поставить пустое поле, то его переменная сначала будет равна "андефайнед", а потом, если написать и стереть, то ""... поэтому надо проверять оба значения: и пустую строку и андефайнед... но зачем так сложно, если можно просто проверить длину строки ? =) |
хм...а мой пример работает после стирания:)
|
Спасибо!
Такую дискуссию жестокую завели, ухх :eek:
но прав оказался всё таки Nox Noctis. Сейчас сижу и думаю, как я сразу не допер, что проще длинну проверять, чем всякие там андефайнеды, про которые впервые слышу |
Нокс, а ты не шути, а то у меня и так мозги в горшочек,я рисовалку на флэше делаю, а сам ну блин ниче не понимаю!
ЗЫ извинения приняты:) |
смешной какой =)))
сам на меня наорал, а потом извинения принял =) шустро так =)) |
если еще не нашел как сделать чтоб работало то вот такой код
это в пустом мувике onClipEvent(load){ var my_text=""; } onClipEvent(enterFrame){ if (_parent(или путь просто к полю).==""){ my_text="zapolni pole"; } } |
nishporka, читай внимательнее :)
чуть выше говорится почему такой способ сравнения не годится =) |
читал)))
вот именно годится потому что ты изначально полю присваеиваешь значение "" и потом проверяешь и даже после того как написать и удалить оно работает это если не присваевать этого значения то выкинет адефайнед а так все нормально я сейчас сам с полями работаю потому говорю 100% это |
а ты можешь объяснить НУ ЗАЧЕМ тебе еще одно лишнее действие, а ? =)
когда все проще... :) если заранее в поле запихать пустую строку - тогда да =) но незачем =) |
да не в поле а в коде просто переменной поля присвае\иваешь ""
а через длинну поля не работает нормально потому как если она не тронутая и не присвоено значение"" то не работает вообщем останемся каждый при своем мнении)))))) но поспорить очень охота на улице дрянь в голове тоже |
Как не работает, если не тронутая?? :confused: Работает!
|
не РАБОТАЕТ если ты тоже неприсвоешь сначало переменной ""
а потому что без присвоения "нехрена" и если юзер не введет ничего просто проигнорирует то твой способ определит длинну поля как 8 ( андефайнед ну или около 8) а значит больше 0 и твой способ сработает только тогда когда он что-то введет и потом сотрет а если ты будешь присваивать переменной значение "" то мой способ уже короче и проще |
СОРИ)))))))))))
вот что значит настроение спорить проверил работает))))))))) :D |
уффф.... а я уже отчаялся что-то объяснять :)))
почему андефайнед около восьми ? =)))) с какой стати ?! =))) если есть сомнения - проверь так: trace(Number(undefined)); и посмотри что получится =) проверка длины лучше - потому что это всего одно действие, и ни о чем другом не надо заботиться... ...даже не надо "обнулять" строку вначале... |
| Часовой пояс GMT +4, время: 18:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.