У меня возникла проблема в проверке формы перед отправкой.
Есть 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. При продолжении выполнения сценария компьютер может не реагировать. Прервать сценарий."
Что не так? Как исправить?