Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.02.2002, 22:05
INK• вне форума Посмотреть профиль Отправить личное сообщение для INK• Посетить домашнюю страницу INK• Найти все сообщения от INK•
  № 1  
INK•
 
Аватар для INK•

Регистрация: Nov 2001
Сообщений: 105
Отправить сообщение для INK• с помощью ICQ
Post Проверка формы хитрым способом

Приветствую!
расклад: имееться набор функций (см. ниже) для проверки полей формы. Имееться масив с полями формы.
имееться функция ValidateForm();
проблема: когда сразу надажать на т.е. запустить функцию ВалидейтФорм... окно трейс получяеться пустое только после того как чот то напишеш в поле оно выдает соотвецтвенный результат фелс исли заполнено.. а потом если стреть то тру.
еще есть функция которая управляет переходом курсора в полях... вот она
// TabOrder check------------

_root.TabSelection = function (fields)
{
_focusrect = false;
this.fields = fields.split(",");
this.field = null;
};
_root.TabSelection.prototype.select = function ()
{
if (Key.isDown(9)) {
this.field = Selection.getFocus();
for (var i = 0; i<this.fields.length; i++)
{
if (this.fields[i] == this.field)
{
if (i == this.fields.length-1)
{
i = 0;
}else {
i++;
}
Selection.setFocus(this.fields[i]);
break;
}
}
}
};
_root.Tab = new _root.TabSelection ("_level0.forma.fname,_level0.forma.lname,_level0.forma.email,_level0.forma.cname,_level0.forma.telno,_level0.forma.comments");

///---------------------------------
чего надо добиться.
для "fname","lname","cname","comments");
применить функцию isEmpty()
для поля "email" isEmail()
а для "telno" isDigit.
если все поля заполнены как нужно то do.something();
если нет то возвратить в те поля которые заполнены неправилно предуприждение = "Неправильно что-то тут!"
при этом хотелось бы использовать для всего этого один обЪект _root.Tab = new _root.TabSelection.

Предложения есть? спасибо.

var whitespace = " \t\n\r";
var defaultEmptyOK = false
//
//--- functions set 2 validate form---
String.prototype.isEmpty = function(){
var s = this.toString();
return ((s == null) || (s.length == 0))

}
String.prototype.isWhitespace = function(){
var s = this.toString();
if (isEmpty(s)) return true;
for (i=0;i<s.length;i++) {
if (s.charCodeAt(i) >= 32) return false;
}
return true;
}
String.prototype.isDigit = function(){
c = this.toString();
return ((c >= "0") && (c <= "9"))
}

String.prototype.isEmail = function(eok){
//True if string s is a valid email address.
var s = this.toString();
if (this.isEmpty())
if (arguments.length == 0) return defaultEmptyOK;
else return arguments[0];
if (this.isWhitespace()) return false;
var i = 1;
var sLength = s.length;
while ((i < sLength) && (s.charAt(i) != "@")){
i++;
}
if ((i >= sLength) || (s.charAt(i) != "@")) return false;
else i += 2;
while ((i < sLength) && (s.charAt(i) != ".")){
i++
}
if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
else return true;
}

ValidateForm = function ()
{
var FormFields = new Array ("fname","lname","email","cname","telno","comments");
for (var pole in FormFields)
{
trace(eval(FormFields[pole]).isEmpty())

}


};

Создать новую тему   Часовой пояс GMT +4, время: 04:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 04:47.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.