Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.03.2010, 17:46
Интересующийся
Отправить личное сообщение для Катерина Посмотреть профиль Найти все сообщения от Катерина
 
Регистрация: 20.01.2010
Сообщений: 20

Верификация формы перед отправкой
У меня возникла проблема в проверке формы перед отправкой.
Есть 14 чекбоксов и 28 зависимых от них столбцов (от 2 до 29):
<form name="rinochnaya_information" method="post" action="">  
 <table id="tbl"><tr>  
          <td colspan="2">Заголовок "Регион"</td>  
          <td colspan="2<input type="checkbox" name="region" id="reg2" value="Регион1">Регион1</td>  
          <td colspan="2><input type="checkbox" name="region" id="reg4" value="Регион2>Регион2</td>  
..................................................        
        <td colspan="2"><input type="checkbox" name="region" id="reg28" value="Регион14">Регион14</td>  
        </tr>  
        <tr>  
       <td>Заголовок</td>  
       <td>Заголовок</td>  
           <td>Заголовок 2 (для региона 1.1)</td>  
           <td>Заголовок 3 (для региона 1.2)</td>      
           <td>Заголовок 4 (для региона 2.1)</td>  
           <td>Заголовок 5 (для региона 2.2)</td>  
 .....................................................................................  
           <td>Заголовок 28 (для региона 14.1)</td>  
           <td>Заголовок 29 (для региона 14.2)</td>  
        </tr>  
.....................................................................................

Т.е. от каждого чекбокса зависит 2 столбца. Поэтому я поставила им id reg 2,4,6...28.
От reg2 зависит r[i][2] и r[i][3], от reg4-r[i][4] и r[i][5], ..., reg28-r[i][28] и r[i][29].
Получила закономерность от reg[k] зависит r[i][k] и r[i][k+1]. Тогда при каждом проходе в цикле увеличивая k+2, должна получать то, что надо.
Пытаюсь все это сделать в функции:
function Proverit(){
 var r_info=new Array();
 dlina=document.all.tbl.rows.length-3;   // вычисляю параметр изменения для i, как кол-во строк таблицы  и отнимаю 3, т.к цикл начинается с 0 и 2 верхние строки-заголовки
 for (i=0;i<=dlina;i++){
   r_info[i]=new Array();
 };
for (k=2;k<=28;k+2){
   if(document.getElementById("reg" + k).checked == true){
     for (i=0;i<=dlina;i++){
           r_info[i][k]=document.getElementById('r'+i+k).value;
           r_info[i][k+1]=document.getElementById('r'+i+(k+1)).value;
             if (r_info[i][k]=="" || r_info[i][k+1]==""){
               alert("В выбранном Вами регионе: "+ document.getElementById("reg" + k).value + " не введены данные! Введите данные");
               document.getElementById('r'+i+k).focus();
               return false;                 
             };                    
     };    
   };
};
return true; 
};

Если выбран Регион1 с id="reg2", то проверка осуществляется.Во всех остальных случаях (не выбран ни один из регионов, выбран любой другой регион, ....) все на долго виснет и выдаёт ошибку "Сценарий на данной странице замедляет работу EI. При продолжении выполнения сценария компьютер может не реагировать. Прервать сценарий."
Что не так? Как исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2010, 22:17
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

for (k=2;k<=28;k+2){

Вечный цикл
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2010, 09:28
Интересующийся
Отправить личное сообщение для Катерина Посмотреть профиль Найти все сообщения от Катерина
 
Регистрация: 20.01.2010
Сообщений: 20

Почему? А как исправить в имеющихся условиях?
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2010, 10:11
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Ну попробуйте:
for (k=2;k<=28;k+=2){
Ответить с цитированием
  #5 (permalink)  
Старый 12.03.2010, 15:03
Интересующийся
Отправить личное сообщение для Катерина Посмотреть профиль Найти все сообщения от Катерина
 
Регистрация: 20.01.2010
Сообщений: 20

Спасибо! Заработало!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
load + php подгрузка формы Karandash jQuery 4 01.12.2009 13:04
Собрать значения всех полей формы vvsh Events/DOM/Window 3 09.11.2009 00:35
Удалить ряд символов перед или после курсора до определенного сивола brd Javascript под браузер 3 30.10.2009 08:20
Помогите написать скрипт валидации формы RayOfLight Общие вопросы Javascript 2 27.07.2009 11:58
формирование обьекта или массива на основе полей формы birst Общие вопросы Javascript 1 05.12.2008 17:50