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

12
N
На сайте с 14.06.2004
Offline
107
648

В ИЕ скрипт проверки работает четко а в мозилле идет отправка формы (при не введенных данных)

Привожу кусочек скрипта:


<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>

Подскажите что не так?

Dreammaker
На сайте с 20.04.2006
Offline
569
#1
Nicca:
document.regForm.submit();

попробуйте и здесь через id.

document.getElementById('regForm').submit();

KeTal
На сайте с 25.08.2005
Offline
54
#2

А что в функуции check_rub?

N
На сайте с 14.06.2004
Offline
107
#3


function check_rub(id)
{
if(id=='0')
{
document.getElementById('rub_no').style.display='block';
document.getElementById('rub_ok').style.display='none';
return false;
}
else
{
document.getElementById('rub_no').style.display='none';
document.getElementById('rub_ok').style.display='block';
return true;
}
}
function check_subrub(id)
{

if(id=='0')
{
document.getElementById('subrub_no').style.display='block';
document.getElementById('subrub_ok').style.display='none';
return false;
}
else
{
document.getElementById('subrub_no').style.display='none';
document.getElementById('subrub_ok').style.display='block';
return true;
}
}
Bdiang
На сайте с 19.07.2006
Offline
102
#4

Значит у вас can_submit не устанавливается в false. Надо дебажить, хотя бы элементарным алертом.

ЗЫ

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

Вызывать метод submit() не нужно, просто возвращайте true


if (can_submit==true) return true;
N
На сайте с 14.06.2004
Offline
107
#5

Я пробовал алертами смотреть переменные, убрав метод сабмит, но форма забмитится все равно..

Еще как-то можно просмотреть значения переменных?

dmitcat
На сайте с 26.05.2005
Offline
123
#6

Bdiang правильно указал... попробуйте так:

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; }

return can_submit;

}
Либо селяВи (http://www.puper.ru), либо селяВас (http://www.puper.ru)!!!
Dreammaker
На сайте с 20.04.2006
Offline
569
#7

<telepat mode>

тег form в td засунут?

</telepat mode>

N
На сайте с 14.06.2004
Offline
107
#8
Dreammaker:
<telepat mode>
тег form в td засунут?
</telepat mode>

У меня все на дивах.

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

Пробовал поставить на кнопку отправить онклик с моей функцией, но все-равно отправляет..

Dreammaker
На сайте с 20.04.2006
Offline
569
#9

onsubmit="check_form(); return false;"

так по идее не должно отправлять.

я почему спрашивал о тегах, что файрфокс, если вложенность тегов некорректна, может закрыть тег form раньше времени.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#10

Nicca,

чтобы все взде работоло, используйте полную форму обращений через массивы

document.forms[....].elements[.....]

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий