Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проверка заполненности форм

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
zzz_z
Отправлено: 16 Февраля, 2012 - 18:04:45
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




Всем привет.

Пытаюсь сделать проверку на заполненость полей в форме используя jQuery. Основа есть, но не совсем корректно работает.

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. jQuery(document).ready(function(){
  3.  
  4. jQuery("#qwe").click(function()
  5.     {
  6.        
  7.        
  8. var fields = "";
  9. var arr = ["поле1", "поле2", "поле3", "поле4", "поле5"];
  10.  
  11. var regex2 = /[0-9a-z]+/i;
  12. if(regex2.test($('.string input ').val()))   { }
  13.  
  14. else
  15. {
  16. $(".string input").each(function(index)
  17. {
  18.   if ($(this).val() == "")
  19.   {
  20.     fields += "Поле " + arr[index] + " не заполнено;" + "\n";
  21.   }
  22. });
  23. alert (fields);
  24. return false;
  25. }
  26.  


В итоге при не заполненных полях выдает сообщение о названии полей которые не заполнены.

Проблема в том что если заполнить первое поле и оставить пустыми остальные и нажать submit, то форма отправляется. Никак не могу понять в чем ошибка и как же все таки откорректировать код.
 
 Top
IllusionMH
Отправлено: 16 Февраля, 2012 - 18:40:27
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




zzz_z, ну так проверку нужно ж в цикле делать
CODE (javascript):
скопировать код в буфер обмена
  1. if(regex2.test($('.string input ').val()))   { }

проверяет только значение первого поля. Условие срабатывает и переходим в самый конец кода (как раз в ту часть, которой и не хватает)
 
 Top
zzz_z
Отправлено: 16 Февраля, 2012 - 19:23:16
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




IllusionMH

Этого я не знал. А как обернуть это в цикл? Можете помочь? Пробовал
CODE (javascript):
скопировать код в буфер обмена
  1. for (var i = 0; i < 5; i++) {}
но осталось также.
 
 Top
IllusionMH
Отправлено: 16 Февраля, 2012 - 19:36:29
Post Id



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


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




zzz_z, как-то так (не проверял)
CODE (javascript):
скопировать код в буфер обмена
  1. //в функции нажатия
  2. var val, valid = truel
  3. $(".string input").each(function(index)
  4. {
  5. val = $(this).val();
  6. if(val==="")
  7. {
  8.     fields += "Поле " + arr[index] + " не заполнено;" + "\n";
  9.     valid = false;
  10. } elseif(!regex2.test(val)) { // если не удовлетворяет регулярке
  11.     fields += "Поле " + arr[index] + " содержит недопустимые символы;" + "\n";
  12.     valid = false;
  13. }
  14. });
  15. if(valid) {
  16. //шлем превед
  17. } else {
  18. //ругаем(а лучше подсказываем) юзера(у)
  19. }
  20.  

(Отредактировано автором: 16 Февраля, 2012 - 19:36:46)

 
 Top
zzz_z
Отправлено: 17 Февраля, 2012 - 07:29:01
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)




IllusionMH

Спасибо за помощь. Получилось.
 
 Top
kappa
Отправлено: 17 Февраля, 2012 - 14:57:10
Post Id



Посетитель


Покинул форум
Сообщений всего: 349
Дата рег-ции: Апр. 2011  


Помог: 3 раз(а)




А можно вообще использовать во всю силу HTML5 в таком случае, включая регулярные выражения.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB