Проблема с яваскрипт в Мозилле Помогите

Nicca

Новичок
Проблема с яваскрипт в Мозилле Помогите

В ИЕ скрипт проверки работает четко а в мозилле идет отправка формы (при не введенных данных)
Привожу кусочек скрипта:
PHP:
<form method="post" name="regForm" id="regForm" onsubmit="return check_form();" enctype="multipart/form-data">

<script language="javascript">
function check_form()
{
var can_submit = true;

if(check_rub(document.getElementById('rub').value)==false)    {	can_submit=false; 	}	
if(check_subrub(document.getElementById('subrub').value)==false)	{ can_submit=false; }

if(can_submit==true)
   {	document.regForm.submit(); }
else
   {	return false; }

}
</script>
Подскажите что не так?
 

Nicca

Новичок
Выдает ошибку какую-то, но не могу прочитать. Отправляется форма. Как остановить отправку формы?
 

badmovie

Новичок
Как вариант, закомментировать весь код внутри функции check_form(), добавить в конец функции return false; и маленькими шажками смотреть, какие значения переменных и потихоньку отлаживать.
 

maxwell

artifex
Nicca, Эскейп можно быстро нажать. ;-)


Вместо последних 4-ех строчек нельзя написать:
PHP:
return can_submit;
?
 

dimagolov

Новичок
1. ф-ии check_rub и check_subrub есть вообще?
2. элемениты с ID (!!! именно атрибутом id) rub и subrub есть или нету?
3. вместо if(can_submit==true) стоит писать просто if(can_submit), а вместо if(can_submit==false) стоит писать просто if(!can_submit).
 

Adelf

Administrator
Команда форума
Ужас :)

Ты в функции, которая вызывается на submit формы пытаешься еще раз ее отправить. Там зацикливается все наверно :)

замени

PHP:
if(can_submit==true)
   {    document.regForm.submit(); }
else
   {    return false; }
на просто
PHP:
 return can_submit;
 

maxwell

artifex
Nicca, но всё-таки я бы перестраховался и писал бы так:
PHP:
if (can_submit.toString().length > 4)
 

dimagolov

Новичок
maxwell, не путай человека, он все равно не поймет всей тонкости твоего юмора.

п.с. по теме ответил реально только Adelf, так как все (включая меня) упустили зацикливание при вызове submit из обработчика onsubmit.
 
Сверху