Не срабатывает Ajax.Request в IE8
есть код:
<script> window.onload=function() { var aform=$('authform2'); Event.observe(aform, 'submit', ALogon); } </script> <form method="post" action="/?action=auth" id="authform2" name="authform"> ...... </form> function ALogon() { $('subbutton').style.display='none'; new Ajax.Request ( "/include/ajax/login.php", { method: 'post', parameters: $('authform').serialize(true), onSuccess: function(xhr) { var result=xhr.responseXML; AuthSite(result); } } ); $('subbutton').style.display=''; return false; } отлично работает в ИЕ6, ИЕ7, в ИЕ8 не работает. Покопавшись, я определил, что затык не в onLoad. Проблема начинается со строчки new Ajax.Request То есть получается что не срабатывает объект библиотеки prototype? И именно в ИЕ8. Кто подобное видел? |
Версия библиотеки соответствующая? Смотрим тут
|
стянул оттуда. не работает:-(
|
Библиотека 1.6.1 пробовал и 1.6.1.rc2 и 1.6.1.rc3. Эффект тот же.
ошибка на new.Ajax.Request 'null есть null или не является объектом' пока вылечил тем что узел в настройках ИЕ8 добавил в режим совместимости. Но это ведь не метод.... Кто знает как побороть? |
1. Выложите Вашу тестовую страницу с локализованной проблемой, которая не работает.
2. Зайтите на оффсайт prototype, возьмите их тестовые примеры/демо и запустите в ИЕ8. Работают? |
уточняю проблему.
выяснил тот случай, в котором Ajax.Request не работает - при использовании метода serialize Вот этот код не работает: new Ajax.Request ( "/include/ajax/login.php", { method: 'post', parameters: $('authform').serialize(true), onSuccess: function(xhr) { } } ); а с этим все нормально: username=$('$_login').value; passw=$('$_passw').value; var pars = $H({username:username, passw:passw}).toQueryString(); new Ajax.Request ( "/include/ajax/login.php", { method: 'post', parameters: pars, onSuccess: function(xhr) { } } ); Но ведь можно задолбаться все параметры перечислять... Версия прототайпа 1.6.1 |
Мб, проблема в этом. Поковыряйте код библиотеки, посмотрите, где именно в ИЕ8 вывалиевается. Если именно там -- поищите на https://prototype.lighthouseapp.com/.../8886/tickets/, не поправлено ли это. Если нет -- переделайте.
|
Часовой пояс GMT +3, время: 01:59. |