среда, 4 мая 2011 г.

удивительная Opera

Три дня ломала голову, почему во всех браузерах скрипт работает, а в Опере нет. По нажатию на кнопку javascript должен был вызывать определенный серверный метод. Везде отрабатывало, а в опере почему-то перезагружалась страница, но метод не вызывался.

Сначала думала, что событие onmousedown в опере как-то специфически работает, потом думала, что javascript как-то не так к странице подключен....

Оказалось всё гораздо проще. Функция, которую я пыталась вызвать, называлась submit. А в опере submit отправляет форму на сервер, и свою функцию так называть нельзя...
Переименовала функцию в submitData, и - о чудо - всё работает :)

3 комментария:

  1. Одно из первых правил правильного программирования - никогда не называй функции, переменные и так далее, зарезервированными словами :)

    ОтветитьУдалить
  2. ну как-то я слово submit не посчитала зарезервированным. теперь буду знать :)

    ОтветитьУдалить
  3. Ну на самом деле submit может и не зарезервированное. Но их этого вытекает другое правило, после некоторого опыта - не использовать общеупотребительных слов submit, load, onload etc которые вполне могут оказатся или зарегистрироватся или перекрыватся в какой-нибудь используемой библиотеке.

    ОтветитьУдалить