Три дня ломала голову, почему во всех браузерах скрипт работает, а в Опере нет. По нажатию на кнопку javascript должен был вызывать определенный серверный метод. Везде отрабатывало, а в опере почему-то перезагружалась страница, но метод не вызывался.
Сначала думала, что событие onmousedown в опере как-то специфически работает, потом думала, что javascript как-то не так к странице подключен....
Оказалось всё гораздо проще. Функция, которую я пыталась вызвать, называлась submit. А в опере submit отправляет форму на сервер, и свою функцию так называть нельзя...
Переименовала функцию в submitData, и - о чудо - всё работает :)
Одно из первых правил правильного программирования - никогда не называй функции, переменные и так далее, зарезервированными словами :)
ОтветитьУдалитьну как-то я слово submit не посчитала зарезервированным. теперь буду знать :)
ОтветитьУдалитьНу на самом деле submit может и не зарезервированное. Но их этого вытекает другое правило, после некоторого опыта - не использовать общеупотребительных слов submit, load, onload etc которые вполне могут оказатся или зарегистрироватся или перекрыватся в какой-нибудь используемой библиотеке.
ОтветитьУдалить