Проблема с вызовом функции в качестве обработчика
Доброго времени суток!
Есть функция, которую надо вызвать в качестве обработчика события onClick для ссылки. Выглядит так (тестовый образец, сделал на время решения проблемы): function mb_answer1(id_msg, user_name){ alert('TEST ' + id_msg + ' ' + user_name); }; Прикручиваю вызов на ссылку в таком виде: <a href="#" style="text-decoration: none;" onClick="JavaScript:mb_answer1(123, 456);">Ответить</a> Все замечательно работает, alert выбрасывает "TEST 123 456" НО! Вторым параметром надо передать строку, прикручиваю вызов, как он должен будет выглядеть (тело ссылки будет сформировано РНР-скриптом и в него в вызов обработчика будут прописаны нужные значения): <a href="#" style="text-decoration: none;" onClick="JavaScript:mb_answer1(123, '456');">Ответить</a> И функция перестет работать!!! Вываливается куча ошибок, причем в разных браузерах - разные. Конкретно в Опере (в которой я в первыю очередь все тестирую) происходит следующее: 1) При загрузке страницы выпадает Код:
JavaScript - http://caymer_web.localhost/index.php?cat=107&mode=1&mode2=5 Код:
JavaScript - http://caymer_web.localhost/index.php?cat=107&mode=1&mode2=5 |
<script type="text/javascript" language="javascript"> function mb_answer1(id_msg, user_name){ alert('TEST ' + id_msg + ' ' + user_name); }; </script> <a href="#" style="text-decoration: none;" onclick="mb_answer1(123, '456');">Ответить</a> Конкретно в этом примере все нормально, может все таки в вашем коде что то не так ? |
Цитата:
|
У меня (Google Chrome) этот пример работает. Так же в IE 6 смотрел, тоже работает. Да и не реально что бы этот код не работал, тут нет ничего такого, что бы могло заставить выдавать ошибку.
|
Конкретно этот пример, Опера 10.63, Мазилла 3.6.17 и Сафари 5.0.3 воспринимать отказываются. Просто onClick="javascript:alert('456');" работает замечательно. Ошибку, которую выдает Опера, показал выше - expected ';', got '456' Вот это меня и смущает: не скобку там или запятую, а именно ; требует почему-то.
|
Все, нашел в чем проблема: не обратил внимание на номер строки с ошибкой. Ссылка в тело страницы тоже вставляется жаваскриптом и именно там и вылезала ошибка.
ЗЫ: добавил слеши экранирующие |
Часовой пояс GMT +3, время: 22:57. |