Подскажите пожалуйста почему не работает скрипт только в Mozilla


Выделить код

Код:

<SCRIPT language="JavaScript" type="text/javascript">
function summ(f,f1) {
if(forma.elements[0].value>(f-f1))forma.elements[0].value=f-f1;
forma.elements[6].value =forma.elements[5].value*forma.elements[0].value;
}

</SCRIPT>

nataly1
И как он "не работает"?

Есть три инпута первое - колво, второе-стоимсоть, третье - итоговая сумма

Во всех браузерах итоговая сумма отображается, в мозилле нет(она остается такой как вначале и не реагирует на изменение количества).


В Опере, Сафари, Хроме, Ие всё отлично работает.

В мозилле не работает не только у меня, у всех(так что это не какой-нибудь вирус и т.п. - это точно браузер)

nataly1
Ну вставьте проверку - попадает ли вообще в линию выполнения указанный код - может, он просто ввиду неизвестно чего остается в стороне. Если да - проверьте значения на undefined, сделайте вывод значений операндов по отдельности. Дальше уже видно будет.
И да, у вас в FF, часом, NoScript не установлен?

NoScript не установлен, все остальные скрипты  работают.


В скрипт он заходит, пишу для проверки в начале скрипта   window.print();
появляется оконо печати, но значение в инпуте не меняется


Вобщем ошибка в строчке

Выделить код

Код:

if(forma.elements[0].value>(f-f1))forma.elements[0].value=f-f1;

код который ставлю за ней уже не выполняется


Выделить код

Код:

alert(f);

- работает

Выделить код

Код:

alert(forma.elements[0].value);

- работает

Выделить код

Код:

alert(forma.elements[0].value);

- не работает

Почему-то браузер не понимает эту конструкцию

Выделить код

Код:

forma.elements[0].value

Как быть?

http://mycanvas.wallst.ru/motion/
Зато мой скрипт работает везде!

Amfibia
Соловей, тебя же скоро перманентно забанят. Доиграешься.

nataly1 пишет

Почему-то браузер не понимает эту конструкцию

Выделить код

Код:

forma.elements[0].value

Как быть?

Проверьте отдельно значения forma, forma.elements, и forma.elements[0] - что-то из них null/undefined. А чтобы впредь не гадать, где что не так - есть стандартное для подобных ситуаций решение: заворачивать проблемный блок в try/catch.

Какая разница даже если какое из них не определено? Ведь в других браузерах работает? Это же проблему не решит?

Выделить код

Код:

alert(forma);

- окошко не выскакивает т.е. видимо форму он не видит

nataly1 пишет

Какая разница даже если какое из них не определено? Ведь в других браузерах работает? Это же проблему не решит?

Так вам надо решить свою проблему с кодом, или выяснить, какой браузер в чём виноват?

Если мне мой склероз не изменяет - в 4 что-то мудрили с порядком обхода полей в формах, может просто номера элементов поменялись? Попробуйте через ИДы обращаться, или по именам (это, кстати, вообще стандартный совет - не использовать номерное обращение, если есть возможность).

nataly1 пишет

Почему-то браузер не понимает эту конструкцию

Выделить код

Код:

forma.elements[0].value

Как быть?

Вот так должен понять

function func(){
    document.f2.elements[0].value='';
    }

Где f2 - name формы
У меня, по крайней мере, 4-ка понимает

Aleksty огромное спасибо!Так работает!