|
|
|||||
Проверка формы хитрым способом
Приветствую!
расклад: имееться набор функций (см. ниже) для проверки полей формы. Имееться масив с полями формы. имееться функция 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. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|