Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2009, 18:28
Аватар для Ruark
Интересующийся
Отправить личное сообщение для Ruark Посмотреть профиль Найти все сообщения от Ruark
 
Регистрация: 06.05.2009
Сообщений: 14

Не срабатывает 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. Кто подобное видел?

Последний раз редактировалось Octane, 11.09.2009 в 18:32. Причина: используйте теги [html] и [js] для оформления кода
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2009, 18:46
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Версия библиотеки соответствующая? Смотрим тут
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2009, 13:07
Аватар для Ruark
Интересующийся
Отправить личное сообщение для Ruark Посмотреть профиль Найти все сообщения от Ruark
 
Регистрация: 06.05.2009
Сообщений: 14

стянул оттуда. не работает:-(
Ответить с цитированием
  #4 (permalink)  
Старый 14.09.2009, 10:42
Аватар для Ruark
Интересующийся
Отправить личное сообщение для Ruark Посмотреть профиль Найти все сообщения от Ruark
 
Регистрация: 06.05.2009
Сообщений: 14

Библиотека 1.6.1 пробовал и 1.6.1.rc2 и 1.6.1.rc3. Эффект тот же.
ошибка на new.Ajax.Request 'null есть null или не является объектом'
пока вылечил тем что узел в настройках ИЕ8 добавил в режим совместимости. Но это ведь не метод....
Кто знает как побороть?
Ответить с цитированием
  #5 (permalink)  
Старый 14.09.2009, 14:54
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

1. Выложите Вашу тестовую страницу с локализованной проблемой, которая не работает.
2. Зайтите на оффсайт prototype, возьмите их тестовые примеры/демо и запустите в ИЕ8. Работают?
Ответить с цитированием
  #6 (permalink)  
Старый 14.09.2009, 15:56
Аватар для Ruark
Интересующийся
Отправить личное сообщение для Ruark Посмотреть профиль Найти все сообщения от Ruark
 
Регистрация: 06.05.2009
Сообщений: 14

уточняю проблему.
выяснил тот случай, в котором 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

Последний раз редактировалось Octane, 14.09.2009 в 19:00. Причина: используйте тег [js] для оформления JavaScript-кода
Ответить с цитированием
  #7 (permalink)  
Старый 14.09.2009, 18:31
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Мб, проблема в этом. Поковыряйте код библиотеки, посмотрите, где именно в ИЕ8 вывалиевается. Если именно там -- поищите на https://prototype.lighthouseapp.com/.../8886/tickets/, не поправлено ли это. Если нет -- переделайте.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает onLoad в IE8 Ruark Internet Explorer 0 11.09.2009 12:23
IE8, windows 2008 server. Не срабатывает onload у iframe bdiang Events/DOM/Window 4 29.08.2009 15:19
slideToggle схлопывает DIVы в IE8 MyasNick jQuery 4 29.07.2009 23:22
не срабатывает onMouseOver riskk Элементы интерфейса 4 18.03.2009 12:08
Не срабатывает onkeyup afandi Events/DOM/Window 3 08.12.2008 20:33