Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.01.2011, 17:27
Интересующийся
Отправить личное сообщение для Игорь87 Посмотреть профиль Найти все сообщения от Игорь87
 
Регистрация: 13.02.2010
Сообщений: 10

Обработка DOM после Ajax-запроса
Здравствуйте!Возникла проблема с ajax ...
Ну вот делаю запрос на сервер , "возвращается" html форма , и перед тем как ее вставить в документ с помощью метода innerHTML объекта dom, мне эту форму(она состоит из елементов формы select и submit ) нужно обработать функцией (функция удаляет submit и вешает на select событие onChange и т.д.).Можно ли как-нибудь обработать функцией полученный html код до вставки его в документ?
Можно, конечно, обработать данные, полученные с сервера, и после вставки в документ,но тогда возникает "моргание" удаляемого submit ...Т.е. submit сначало есть,а только через некоторое время кнопка исчезает.На самом деле очень часто возникает такая поблема с обработкой полученного dom.

Еще можно было передать get/post параметр в ajax запросе, чтобы уже на сервере удалить эту кнопку, и вернуть форму без submit, но в этом и весь смысл - чтобы сайт работал как с включенным js , так и без него, при этом максимально снять нагрузку с сервера и сбросить работу на пользовательскую машину ...
Не утруждайте себя глупыми вопросами: "А зачем тебе это?", или что-то подобное.

Спасибо всем у кого есть идеи как можно решить эту проблему...
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2011, 18:17
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,589

Сообщение от Игорь87
чтобы сайт работал как с включенным js , так и без него
Сообщение от Игорь87
вставить в документ с помощью метода innerHTML
innerHTML метод скрипта-так что с выключенной поддержкой -никак
Ответить с цитированием
  #3 (permalink)  
Старый 05.01.2011, 18:23
Аватар для Aetae
Любитель
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 5,625

div=document.createElement('div');
div.innerHTML=ajax.responseText;
//обработка
targetElement.appendChild(div);


Ну и если лишний див не нужен:
function stringToDOM(str)
{
var d=document.cerateElement('div'),f=document.createDocumentFragment();
d.innerHTML=str;
while(d.firstChild)f.appendChild(d.firstChild);
return f
}
res=stringToDOM(ajax.responseText);
//обработка
targetElement.appendChild(res);

Последний раз редактировалось Aetae, 05.01.2011 в 18:31.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка строки запроса после решётки (www.сайт.ru/#123) constantant Общие вопросы Javascript 27 20.01.2011 23:07
прерывание ajax запроса belbek Общие вопросы Javascript 2 12.10.2010 08:45
Деление одного ajax запроса на несколько. qwerty12311 AJAX и COMET 8 05.10.2010 21:54
Проблема с событиями после ajax запроса Mirgorod AJAX и COMET 5 12.06.2010 17:24
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 11:23