IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> поиск в переменной куска текста
DJKOT
сообщение 7.04.2009 - 14:56
Сообщение #1


Активный участник
***

Группа: Пользователи
Сообщений: 209
Регистрация: 3.01.2007
Из: Астана
Пользователь №: 2309



Срочно нужна помощь! в скрипте требуется выполнить некоторое действие (к примеру, _root.play), если значение вводимой переменной (input text) будет содержать слово "plus" (не целиком, а где-то в середине, типа 3333plus333)
возможно ли это реализовать?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 7.04.2009 - 15:03
Сообщение #2


Участник
**

Группа: Пользователи
Сообщений: 83
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



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

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

Код
if (текстовое_поле_ввода.text.indexOf("plus")>-1) _root.play()
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
DJKOT
сообщение 7.04.2009 - 16:14
Сообщение #3


Активный участник
***

Группа: Пользователи
Сообщений: 209
Регистрация: 3.01.2007
Из: Астана
Пользователь №: 2309



это будет работать на АС2?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 7.04.2009 - 16:21
Сообщение #4


Участник
**

Группа: Пользователи
Сообщений: 83
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



Цитата(DJKOT @ 7.04.2009 - 17:14) *
это будет работать на АС2?


Что мешает проверить?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
DJKOT
сообщение 7.04.2009 - 16:27
Сообщение #5


Активный участник
***

Группа: Пользователи
Сообщений: 209
Регистрация: 3.01.2007
Из: Астана
Пользователь №: 2309



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

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 7.04.2009 - 16:54
Сообщение #6


Ветеран конференции
****

Группа: Flash Zone Team
Сообщений: 2923
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



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

DJKOT

Вполне будет работать (IMG:style_emoticons/default/wink.gif) .

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

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

К примеру у тебя есть 5 текстовых полей i1..i5. Чтобы изменить во всех них текст, используй следующий код:
Код
for (i=1;i<=5;i++){
_root["i"+i].text = "i = "+i;
}
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
DJKOT
сообщение 7.04.2009 - 17:24
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 209
Регистрация: 3.01.2007
Из: Астана
Пользователь №: 2309



спасибо конечно огромное, но это не совсем то. надо, чтобы при введении любого текста в var со словом "plus" кроме текста со словами "plus i (от 1 до 7)" переменной statbar присваивалось значение "ошибка"

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

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
chingachgoog
сообщение 7.04.2009 - 18:14
Сообщение #8


Участник
**

Группа: Пользователи
Сообщений: 83
Регистрация: 27.02.2009
Из: Moscow
Пользователь №: 9144



Код
поле_ввода.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

Сообщение отредактировал chingachgoog - 7.04.2009 - 18:23
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
/2D/
сообщение 7.04.2009 - 18:15
Сообщение #9


Участник
**

Группа: Пользователи
Сообщений: 117
Регистрация: 4.11.2006
Пользователь №: 1288



Код
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+"Ошибка!";
}
}
}

что-нибудь такое подобное, во флэш не вгонял, но в уме продумал, вроде работает (IMG:style_emoticons/default/smile.gif) ошибок не выдает (IMG:style_emoticons/default/wink.gif)

Сообщение отредактировал /2D/ - 7.04.2009 - 18:35
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
DJKOT
сообщение 7.04.2009 - 18:43
Сообщение #10


Активный участник
***

Группа: Пользователи
Сообщений: 209
Регистрация: 3.01.2007
Из: Астана
Пользователь №: 2309



спасибо большое
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 12.04.2009 - 19:17