Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка данный через document.getElementById, Проблемы в IE 
:(
    Опции темы
chiffa
Дата 3.12.2009, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: -1
Всего: -1



Всем доброй ночи. Функцией ajax_edit(x,y) возвращаются данные из скрипта. y - порядковый номер

пытаюсь выполнить 
Код

document.getElementById("trcent" + y).innerHTML = 'ыыы';
 в ФФ все работает на ура, в осле вылетает "неопознанная ошибка" и ничего не вставляет, интуитивно понимаю что скорее всего собака порілась тут '"trcent" + y' но что именно не так не догоняю. Может кто подскажет? буду весьма признателен!
PM MAIL   Вверх
patap
Дата 3.12.2009, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 1
Всего: 40



тут скорее всего нужно смотреть не эту строку, а функцию ajax_edit()


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
chiffa
Дата 3.12.2009, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: -1
Всего: -1



Вот функция ajax_edit:

Код


function ajax_edit(x,y) {

var x, y;

var mk1 = decodeURIComponent(x).split('~');


if (mk1 [1])
{
appendData2(decodeURIComponent(mk1 [1]), document.getElementById("block"));
}
else
{
appendData2(decodeURIComponent(x), document.getElementById("trcent" + y));
}


document.getElementById("podtverj").innerHTML="<center><a href=''> Оновити <a> - <a href=\"JavaScript:void (0); admin ('search','');\"> Відмінити <a> </center>";

}



Возможно как вариант причина в функции к которой идет обращение:

Код

function appendData2(data_str2, parent_node, mode)
{
    appendData2.js_store='';

    data_str2 =data_str2.replace(/<script.*?>((.|[\r\n])*?)<\/script>/ig,appendData2.handle);
    //вставляем получившийся текст с метками
    if(parent_node)
      if (mode == 'append') {
        parent_node.innerHTML += data_str2;
      } else {
        parent_node.innerHTML = data_str2;
      }
    if(!!appendData2.js_store)
    try{
       // alert(appendData2.js_store) ;
        if(window.execScript) {
            window.execScript(appendData2.js_store, "javascript");
        } else {
            eval.call(window, appendData2.js_store)
        }
    } catch(e){}; // в целях отладки - блок нужно убрать!!!!
}
appendData2.handle=function($0,$1)
{
    appendData2.js_store+='\n'+$1; // собираем JS в едину кучу
    return '';
}



PM MAIL   Вверх
IDVsbruck
Дата 3.12.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



Если ты передаешь в функцию параметры - x, y - то зачем заново их определяешь - var x, y?
Тем самым ты их обнуляешь ... хотя, видимо, раз какие-то браузеры сразабывают, то в них приоритет переданных значений выше, чем локальных определенных smile

А вобще - жесть, надо почитать литературку про стиль написания, методы программирования и т.д. Уже давно никто не передает с сервера строку типа "val1~val2~val3", для этого используется json: "[val1, val2, val3]" или "{values:[val1, val2, val3]}" и т.д.
PM MAIL   Вверх
chiffa
Дата 3.12.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: -1
Всего: -1



убрал var x, y ничего не изменилось...


а про json по подробнее можно? smile
PM MAIL   Вверх
IDVsbruck
Дата 3.12.2009, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



JSON

Кроме этого интересно возникновение переменных x и y, поэтому нужен код функции, где они возникают (надо полагать, там, где работа с ajax'ом). Кстати, patap именно это имел в виду.
PM MAIL   Вверх
chiffa
Дата 3.12.2009, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: -1
Всего: -1



вот так формируется сама функция:

ondblclick="ajax_edit(1,'<?=$row ['id'];?>');"

тоесть у это ай-ди из базы...
PM MAIL   Вверх
chiffa
Дата 3.12.2009, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: -1
Всего: -1



...

Это сообщение отредактировал(а) chiffa - 4.12.2009, 00:07
PM MAIL   Вверх
IDVsbruck
Дата 4.12.2009, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 7
Всего: 22



Искренне хочется помочь. Интуитивно понял, что причина в AppendData2, точнее, две возможных. Обе связаны с передаваемыми переменными.
а) сталкивался с проблемой, когда передается в качестве параметра элемент, но если его не переопределить локальной переменной, то он недоступен. На практике в этой функции назначь var qwerty = parent_node; и работай уже с qwerty. Причину не скажу, но сталкивался не раз.
б) mode не определен, но сравнивается с константой. При сравнении mode == "undefined", но сравнивается с "append". Конечно, проблема в этом достаточно маловероятна, но допустима. Выход - передавать в качестве параметра пустую строку "" или ставить на входе проверку: var mode = mode || "";

В любом случае, можно алертами добиться гарантированно местонахождения строки, которая вызывает ошибку.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.