| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Opera события не работают |
| Автор: flashaa 27.9.2007, 10:21 | ||
| Есть ситуация: такая ХТМЛ-форма:
функции log_in и key_log_in находятся в файле js/main.js Данная конструкция не работает в Опере, однако в Ие и Мозилле все ок. Пробовал содержимое функции log_in менять на {alert('aaa');} - все равно не работает.. Такое ощущение, что Опера не дружит со скриптами, подгружаемыми через <script src=...></script> Помогите, пожалуйста |
| Автор: dsCode 27.9.2007, 10:35 | ||||
| flashaa, все работает: test.js
index.html
Ошибка в функции, либо в подключении. Посмотрите консоль ошибок js в Опере - что там пишут? |
| Автор: flashaa 27.9.2007, 11:05 | ||
| Cпасибо, вот ошибка при клике на кнопку: Event thread: click Error: name: ReferenceError message: Statement on line 1: Reference to undefined variable: log_in Backtrace: Line 1 of script log_in(); At unknown location [statement source code not available] Вот ещё ошибка при определении этой функции: Inline script compilation Syntax error while loading: line 42 of linked script at js/index.js : } ---^ Привожу эту функцию log_in, a line 42 в ней - "email" : document.getElementById("email").value
|
| Автор: dsCode 27.9.2007, 12:25 |
| flashaa, ну вот не видит значит эту функцию. Попробуйте "продебажить" с самого начала - сначала пустую функцию напишите (мой же пример работает), потом добавьте нужные вызовы, через каждую строчку поставьте alert'ы - и таким образом отловите ошибку. P.S.: Кстати, а что такое caller(), // backend? Функция caller получает имя бэкенд-скрипта? И сама же (caller()) является параметром для JsHttpRequest.query(...). Вообще, так можно, просто.. несколько странная конструкция =) |
| Автор: flashaa 27.9.2007, 13:16 | ||||
| caller возвращает имя бакенд-скрипта по URL из браузера. JsHttpRequest - библиотека для работы с AJAX написанная Дмитрием Котеровым. http://dklab.ru Проблема решена: оказывается Оперовский джава-скрипт не терпит задание объектов с пустыми строками:
а вот такой код работает:
|