![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2006
Сообщений: 31
|
Помогите пожалуйста вставить проверку введенных данных в строки.
Вот код: tf_fmt = new TextFormat();
tf_fmt.color = "0x666666";
// Текстовое поле для имени
_root.createTextField("name_txt", 1, 10, 20, 300, 20);
with (name_txt) {
border = true;
borderColor = "0xCCCCCC";
type = "input";
multiline = false;
text = "Введите ваше имя";
setTextFormat(tf_fmt);
}
// При передачи фокуса текстовому полю убиваем всё что в нём написано
name_txt.onSetFocus = function() {
this.text = "";
delete this.onSetFocus;
};
// Текстовое поле для e-mail
_root.createTextField("mail_txt", 2, 10, 50, 300, 20);
with (mail_txt) {
border = true;
borderColor = "0xCCCCCC";
type = "input";
multiline = false;
text = "Введите ваш телефон";
setTextFormat(tf_fmt);
}
// При передачи фокуса текстовому полю убиваем всё что в нём написано
mail_txt.onSetFocus = function() {
this.text = "";
delete this.onSetFocus;
};
// Текстовое поле для сообщения
_root.createTextField("message_txt", 3, 10, 80, 300, 20);
with (message_txt) {
border = true;
borderColor = "0xCCCCCC";
type = "input";
multiline = false;
text = "Введите ваш E-mail";
setTextFormat(tf_fmt);
}
// При передачи фокуса текстовому полю убиваем всё что в нём написано
message_txt.onSetFocus = function() {
this.text = "";
delete this.onSetFocus;
};
// Кнопка "Отправить"
_root.attachMovie("button", "but_mc", 4, {_x:10, _y:280});
but_mc.createTextField("tf", 1, 0, 0, 300, 20);
b_fmt = new TextFormat();
b_fmt.color = "0xFFFFFF";
b_fmt.align = "center";
with (but_mc.tf) {
selectable = false;
text = "Отправить заявку";
setTextFormat(b_fmt);
}
// При нажатии на кнопку запускаем функцию F_sendMail
but_mc.onPress = function() {
F_sendMail(name_txt.text,mail_txt.text,message_txt.text);
};
//Функция отправки сообщения
F_sendMail = function (Name, Mail, Message) {
// Создаём мувик для хранения переменных
_root.createEmptyMovieClip("v", 120);
v.name = Name;
v.mail = Mail;
v.message = Message;
// Отправляем данный php - скрипту
v.loadVariables("mail.php", "POST");
};
// Что бы не было проблем с кодировкой при передачи текста php
System.useCodepage = true;
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Здравствуйте dimer!
А в чем, собственно, проблема!!? 1. Используйте обработчик onChanged и в нем проверяйте корректность введеных данных. Совет: Использование with {} допустимо, но не рекомендуемо, в особенности в циклах - замедляет работу скрипта. Старайтесь обходиться без него (with).
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 31
|
интересно, тут все такие умные или только я такой глупый... если бы я знал все эти слова то конечно бы сделал, но отнюдь... потому и прошу объяснить наглядно.Спасибо!
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Уважаемый dimer!
Я никоим образом не хотел обидеть Вас. Простите. Давайте уточним: Вы хотите выполнить проверку на корректность введенных данных на этапе ввода данных или же после нажатия кнопки "Отправить". В первом случае, необходимо написать код проверки корректности данных в обработчике onChanged: this.createTextField("myInputText_txt", 99, 10, 10, 300, 20);
myInputText_txt.border = true;
myInputText_txt.type = "input";
myInputText_txt.onChanged = function(textfield_txt:TextField)
{
//здесь проверяем textfield_txt на корректность. Критерии проверки незнаю !!!
};
Не привожу готовый код, поскольку незнаю критерии проверки. Ну для e-mail, я предполагаю критерием проверки будет служить наличие в e-mail'е амперсанда (@). А для полей name_txt и message_txt увы я не знаю критериев. Кстати, в поле для e-mail у Вас по умолчанию будет выведено "Введите Ваш телефон". Это так и должно быть?
__________________
Случайность, господа, это знаете ли непознанная необходимость. Последний раз редактировалось Alex_beginner; 13.07.2008 в 15:14. |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 31
|
проверить введены ли данные, дело в том что там не просто пустая строка в строке уже изначчально есть текст например "введите ваше имя", нужно просто проверить что введен текст отличный от этого и желательно, если конечно не трудно сказать проигрывателю после нажатия на кнопку отправить, если все нормально play.
Спасибо. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Дело тут в том, что при передачи фокуса любому полю в Вашем коде это поле очищается и на момент события onChanged (возникает когда Вы изменяете значение в поле хотя бы на один символ) оно уже очищенно и имеет какое-то значение длинной в 1 символ.
Давайте всетаки уточним, что значит проверить данные, т.е. что в данных проверять - длину введеных данных, характер введеных данных (на английском, русском, китайском языке). Для каждого текстового поля необходимо выбрать свои критерии проверки. Далее порядок будет таким: 1. Создаете обработчик события onChanged для каждого текстовго поля, используя приведенный выше пример; 2. В каждом обработчике пишите код, проверяющий введенные данные на соответствие определнному критерию, характерному только для данного конкретного поля; 3. Далее записываете в ячейку массива, указывающую на соотвествующее текстовое поле значения "значение поля корректно", "значение поля не корректно", "значение поля еще не проверялось" (или другие удобные, но аналогичные этим значения) по результатам проверки. Необходимо отметить, что все ячейки глобального массива в начале алгоритма должны содержать значение "значение поля еще не проверялось". 4. В функции F_sendMail пишите проверку наличия в каждой ячейке массива значение "значение поля корректно " делая так Глобальная переменная Flag в начале алгоритма должна иметь значение true.
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Согласен.
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 31
|
к сожалению ничего не понял, но спасибо за разъяснения...
![]() |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Может тогда будет проще если Вы нам сообщите критерии проверки каждого поля, а мы в свою очередь попытаемся написать готовый код, если, конечно, такое предложение приемлемо.
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|