![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
Вопрос думаю ужасно простой. Есть форма с полями, допустим
<input name=f1...> <input name=f2...> При щелчке на submit надо проверять заролнил ли их юзер, и если нет, то нужно показать юзерц надпись "You have to fill in all fields marked *!" в месаг боксе. Я в JS дуб дубом... Это сообщение отредактировал(а) Kefir - 23.11.2003, 10:10 |
|||
|
||||
| SVK |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 22.5.2003 Репутация: нет Всего: 1 |
Вот скрипт, который проверяет, что все поля, имя которых начинается с "c_" заполнены. Причем кол-во символов, исключая пробелы, должно быть не менее minLength (2 в данном случае)
|
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
Сердечно благодарю.
|
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Зачем такие сложности?
Вроде так, но можеть чуть-чуть подкоррретировать...) |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
прошу прощения, <form name="formname" ...>
|
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: нет Всего: 39 |
ALEXANDRO Ещё у вас разные названия функций rightdata и dataright.
|
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Прошу прощения, я спешил!)
|
|||
|
||||
| [xoodo] |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 9.3.2003 Репутация: нет Всего: 4 |
У меня только первыи вариант работает. onbeforesubmit не признает ни в какую
|
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Ну ладно уж! если совсем не выпендриваться, то пусть буит так:
Чё тута сложного? Говорят, что JavaScript вначале создавался для проверки форм на клиентском компе...)) Это сообщение отредактировал(а) ALEXANDRO - 9.12.2003, 11:03 |
|||
|
||||
| SeregaLBN |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 3.10.2003 Где: Киев Репутация: нет Всего: нет |
Вот еще ф-ции для проверки.
Проверку я у себя проверял при вводе информации. function checkDate(obj) { var val = obj.value; var len = val.length; var countPoint = 0; for(var i = 0; i < len; i++) { var ch = val.substring(i,i+1); if (!( (ch == '.')|| (ch == '0')|| (ch == '1')|| (ch == '2')|| (ch == '3')|| (ch == '4')|| (ch == '5')|| (ch == '6')|| (ch == '7')|| (ch == '8')|| (ch == '9')) ) { //alert('Ошибка\nВведён неверный символ\n\nФормат даты: <ГГГГ.ММ>'); //window.status = 'Ошибка! Введён неверный символ. Формат даты: <ГГГГ.ММ>'; obj.value = val.substring(0,i); return false; } if (ch=='.') countPoint++; if (countPoint > 1) { //alert('Ошибка\nНеверно проставлен разделитель\n\nФормат даты: <ГГГГ.ММ>'); //window.status = 'Ошибка! Неверно проставлен разделитель. Формат даты: <ГГГГ.ММ>'; obj.value = val.substring(0,i); return false; } } var nowDate = new Date(); var maxYear = nowDate.getYear(); var minYear = 1990; var inputYear; for(var i = 0; i < ((len<4)?len:4); i++) { inputYear = str2int(val.substring(0,i+1)); var y1, y2; switch (i) { case 0: y1 = inputYear*1000; y2 = inputYear*1000+999; break; case 1: y1 = inputYear*100 ; y2 = inputYear*100 +99 ; break; case 2: y1 = inputYear*10 ; y2 = inputYear*10 +9 ; break; case 3: y1 = inputYear ; y2 = inputYear ; break; } if (!(((y1>=minYear) && (y1<=maxYear)) || ((y2>=minYear) && (y2<=maxYear)))) { //alert('Ошибка\nВведён неверный год\n\nНеобходимо один из: '+minYear+'..'+maxYear); //window.status = 'Ошибка! Введён неверный год. Необходимо один из: '+minYear+'..'+maxYear; obj.value = val.substring(0,i); return false; } } if (len>4) { if (val.substring(4,5) != '.') { //alert('Ошибка\nВставьте разделитель'); //window.status = 'Ошибка! Вставьте разделитель.'; obj.value = val.substring(0,4); return false; } } if (len>5) { var maxMonth = ((inputYear==maxYear) ? (nowDate.getMonth()+1) : 12); var minMonth = ((len==6) ? 0 : 1); // могут вводить 01..09,10,11,12 и 1,2..10,11,12 var inputMonth = str2int(val.substring(5,len)); if (!((inputMonth>=minMonth)&&(inputMonth<=maxMonth))) { //alert('Ошибка\nВведён неверный месяц\n\nНеобходимо один из: '+minMonth+'..'+maxMonth); //window.status = 'Ошибка! Введён неверный месяц. Необходимо один из: '+minMonth+'..'+maxMonth; obj.value = val.substring(0,len-1); return false; } } //window.status = ''; return true; } function checkMoney(obj) { var val = obj.value; var nFloat = -1; // кол-во символов после запятой for(var i = 0; i < val.length; i++) { var ch = val.substring(i,i+1); if (ch == '.'){ if (nFloat == -1) nFloat = 0; else { //alert('Ошибка\nЛишний разделитель знаков'); //window.status = 'Ошибка! Лишний разделитель знаков'; obj.value = val.substring(0,i); return false; } } if (!( (ch == '.')|| (ch == '0')|| (ch == '1')|| (ch == '2')|| (ch == '3')|| (ch == '4')|| (ch == '5')|| (ch == '6')|| (ch == '7')|| (ch == '8')|| (ch == '9')) ) { //alert('Ошибка\nВведён неверный символ'); //window.status = 'Ошибка! Введён неверный символ'; obj.value = val.substring(0,i); return false; } else { if ((nFloat >= 0) && (ch != '.')) nFloat++; if (nFloat > 2) { //alert('Ошибка\nСлишком много знаков после разделителя'); //window.status = 'Ошибка! Слишком много знаков после разделителя'; obj.value = val.substring(0,i); return false; } } } //window.status = ''; return true; } function checkNumber(obj) { var val = obj.value; for(var i = 0; i < val.length; i++) { var ch = val.substring(i,i+1); if (!( (ch == '0')|| (ch == '1')|| (ch == '2')|| (ch == '3')|| (ch == '4')|| (ch == '5')|| (ch == '6')|| (ch == '7')|| (ch == '8')|| (ch == '9') ) ) { //alert('Ошибка\nВведён неверный символ'); //window.status = 'Ошибка! Введён неверный символ'; obj.value = val.substring(0,i); return false; } } //window.status = ''; return true; } function str2int(val) { //alert(val); var result = 0; for(var i = 0; i < val.length; i++) { var n=0; var ch = val.substring(i,i+1); switch (ch) { case '1': n=1; break; case '2': n=2; break; case '3': n=3; break; case '4': n=4; break; case '5': n=5; break; case '6': n=6; break; case '7': n=7; break; case '8': n=8; break; case '9': n=9; break; case '0': n=0; break; default: return result; } result *= 10; result += n; } return result; } function str2float(val) { //alert(val); var result = 0.00; var point = false; var power=0; for(var i = 0; i < val.length; i++) { var ch = val.substring(i,i+1); if (ch=='.') { if (point) return result; else point = true; } else { var n=0; switch (ch) { case '1': n=1; break; case '2': n=2; break; case '3': n=3; break; case '4': n=4; break; case '5': n=5; break; case '6': n=6; break; case '7': n=7; break; case '8': n=8; break; case '9': n=9; break; case '0': n=0; break; default: return result; } if (point) { power--; result += n*Math.pow(10,power); } else { result *= 10; result += n; } } } return result; } На HTML'e: <input type="Text" name="NUMBER" maxlength="10" value="" onkeyup="checkNumber(this)" /> <input type="Text" name="PERIOD" maxlength="7" value="" onkeyup="checkDate(this)" /> <input type="Text" name="MONEY" maxlength="9" value="0.00" onkeyup="checkMoney(this);" /> |
|||
|
||||
| [xoodo] |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 9.3.2003 Репутация: нет Всего: 4 |
Хмм... Боги создали и подарили нам массивы и циклы для их просмотра... |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |