Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: поиск в переменной куска текста
Flash Zone Forum > Macromedia Flash > Общие вопросы
DJKOT
Срочно нужна помощь! в скрипте требуется выполнить некоторое действие (к примеру, _root.play), если значение вводимой переменной (input text) будет содержать слово "plus" (не целиком, а где-то в середине, типа 3333plus333)
возможно ли это реализовать?
chingachgoog
Цитата(DJKOT @ 7.04.2009 - 15:56) *
Срочно нужна помощь! в скрипте требуется выполнить некоторое действие (к примеру, _root.play), если значение вводимой переменной (input text) будет содержать слово "plus" (не целиком, а где-то в середине, типа 3333plus333)
возможно ли это реализовать?

А чего нельзя-то? Повесьте на onChanged проверку:

Код
if (текстовое_поле_ввода.text.indexOf("plus")>-1) _root.play()
DJKOT
это будет работать на АС2?
chingachgoog
Цитата(DJKOT @ 7.04.2009 - 17:14) *
это будет работать на АС2?


Что мешает проверить?
DJKOT
и еще вопрос, если не трудно: как можно написать "промежуток от одного до 5"? Есть объекты i1,i2,... i5.
как к ним обратиться по типу i (от одного до 5)?

MustLive
Цитата
это будет работать на АС2?

DJKOT

Вполне будет работать wink.gif.

Цитата
как к ним обратиться по типу i (от одного до 5)?

Эту тему мы на форуме уже многократно обсуждали.

К примеру у тебя есть 5 текстовых полей i1..i5. Чтобы изменить во всех них текст, используй следующий код:
Код
for (i=1;i<=5;i++){
_root["i"+i].text = "i = "+i;
}
DJKOT
спасибо конечно огромное, но это не совсем то. надо, чтобы при введении любого текста в var со словом "plus" кроме текста со словами "plus i (от 1 до 7)" переменной statbar присваивалось значение "ошибка"

Код
if (_root.var.indexOf("plus")>-1 & _root.var!= "plus (от одного до пяти)") {
_root.statbar = _root.statbar+"Ошибка!";
}

chingachgoog
Код
поле_ввода.onChanged=function(){
    trace(myCheck(this))
}
function myCheck(tf){
    var txt=tf.text
    var num=Number(txt.charAt(txt.indexOf("plus")+4))
    if (num>0 && num<8) return true
    return false    
}


Можно и так. Только учтите, что plus130456 тоже выдаст true (а также вообще, если не будет слова "plus", например слово "1995")

NB!
Не пишите var у текстовых полей. Давайте имена самим текстовым полям (поле_ввода у меня)
И уж тем более не стоит переменную называть зарезервированным флешом словом - var
/2D/
Код
varvar=0
for(i=1;i<=7;++i){
if (_root.var.indexOf("plus"+i)>-1) {
varvar++
}else{
if(i==7 && varvar>0 && _root.var.indexOf("plus")>-1){
_root.statbar = _root.statbar+"Ошибка!";
}
}
}

что-нибудь такое подобное, во флэш не вгонял, но в уме продумал, вроде работает smile.gif ошибок не выдает wink.gif
DJKOT
спасибо большое
Русская версия IP.Board © 2001-2009 IPS, Inc.