Не срабатывает 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, время: 00:05. |