Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ajax и FireFox проблема / 6 сообщений из 6, страница 1 из 1
20.01.2010, 16:41:12
    #36420976
ROG13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ajax и FireFox проблема
апавпавп
...
Рейтинг: 0 / 0
20.01.2010, 16:43:14
    #36420983
ROG13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ajax и FireFox проблема
ROG13апавпавп

извиняюсь за такую билиберду, просто до этого долго и упорно писал, а после нажатия добавить выдало сообщение о том, что у меня нет прав добавления темы в этот форум, по-этому решил протестировать
...
Рейтинг: 0 / 0
20.01.2010, 16:44:16
    #36420987
ROG13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ajax и FireFox проблема
А теперь по существу

Использую zXml.js

Код следующий

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
function PostRowInADAC(ad,id)
{
  var elem=document.getElementById("nm_mod_"+id);
  if (elem.value=="")
  {
    elem.style.borderColor="#FF0000";
    return false;
  }
  else
    elem.style.borderColor="#000033";
  var sBody=getRequestBody(ad,id);
  var oXmlHttp=zXmlHttp.createRequest();
  oXmlHttp.open("post","/adm_user/edit_test.php",true);
  oXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  oXmlHttp.onreadystatechange = function ()
  {
    if (oXmlHttp.readyState ==  4 )
    {
      if (oXmlHttp.status== 200 )
      {
        var s=oXmlHttp.responseText;
        var res=s* 1 ;
        if (res> 0 )
        {
          document.getElementById("ins_r_"+ad).disabled="none";
          var table = document.getElementById("adac_"+ad);
          var rows = table.getElementsByTagName("tr");
          var row=rows(rows.length- 1 );
          var buf=document.getElementById("nm_mod_"+id).value;
          row.cells[ 0 ].innerHTML=res;
          row.cells[ 1 ].removeChild(document.getElementById("nm_mod_"+id));
          row.cells[ 1 ].innerHTML=buf;
          buf=document.getElementById("id_mod_"+id).value;
          row.cells[ 2 ].removeChild(document.getElementById("id_mod_"+id));
          row.cells[ 2 ].innerHTML=buf;
          buf=document.getElementById("pic_"+id).value;
          row.cells[ 3 ].removeChild(document.getElementById("pic_"+id));
          row.cells[ 3 ].innerHTML=buf;
        }
        else
          alert ("Ошибка. Обратитесь к разаработчику.");
      }
      else
        saveResult("Обнаружена ошибка "+oXmlHttp.statusText);
    }
  }
  oXmlHttp.send(sBody);
  return false;
}
...
Рейтинг: 0 / 0
20.01.2010, 16:48:16
    #36421002
ROG13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ajax и FireFox проблема
теперь поясню, в IE работает нормально, в FF проблеммы.

в переменную s возвращается определенное число, если <=0, то ошибка, если >0, то это id записи вставленой в базу. var row=rows(rows.length-1); после этой записи в FF толи зависание происходит то ли скрипт перестает работать.

Подскажите пожалуйста, то ли в коде ошибка, то ли вообще подход не правильный
...
Рейтинг: 0 / 0
20.01.2010, 17:14:22
    #36421084
ROG13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ajax и FireFox проблема
Все разобрался, просто под вечер тупить начал, rows[rows.length-1], а я в круглые ставил и IE смог догадаться, что я хотел )))
...
Рейтинг: 0 / 0
20.01.2010, 17:21:34
    #36421105
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ajax и FireFox проблема
1. Переменные ad и id передаются в функцию PosrRowInADAC, но не в анонимную в onreadystatechange. Для единичного запроса все сработает, для множественных могут переменные перекрываться. Будь осторожен или используй другой способ передачи.

2. Вместо
Код: plaintext
1.
2.
var table = document.getElementById("adac_"+ad);
var rows = table.getElementsByTagName("tr");
var row=rows(rows.length- 1 );
было бы удобнее использовать
Код: plaintext
var row = document.getElementById("adac_" + ad).rows -  1 ;
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Ajax и FireFox проблема / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]