Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.11.2011, 15:39
Аспирант
Отправить личное сообщение для karmis Посмотреть профиль Найти все сообщения от karmis
 
Регистрация: 25.06.2011
Сообщений: 44

Дублирующий вывод ajax+jQuery
Всем доброго времени суток.
Столкнулся с проблемой.

Есть объект, по клику на который срабатывает асинхронный запрос, который обрабатывается на стороне сервера php и возвращает iframe со стилями и js

Вот код html
<img src='kartinka.png' class='kartinkla' id='cvetok' />


JS
$(".kartinka").live("click",
function()
	{
var id_kartinka=$(this).attr("id");
var url="Name="+id_kartinka;
req.open("POST","index.php",true);
req.onreadystatechange=showkartinka;
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send(url);
return false;
       }


function showkartinka()
{
$(".class").append(req.responseText);
}


echo("<iframe class='new-kartinka' src='app/".$_POST['Name']."'></iframe>");



Проблема в том, что вместо одного iframe возвращается два и больше iframe.

Пробовал заменить live на просто click -- не помогает ...

Может есть какие то способы решения этой проблемы ... сталкиваюсь не в первый раз, в интернете не нашел ничего путного

благодарен буду за любую помощь ...
Ответить с цитированием
  #2 (permalink)  
Старый 08.11.2011, 18:29
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

я в jQuery не силен, но по-моему что-то типа
$(".class").html(req.responseText);

А вообще у меня просто мороз по коже когда я вижу такое
echo("<iframe class='new-kartinka' src='app/".$_POST['Name']."'></iframe>");

Ну зачем на сервере то html-строку собирать???
Ответить с цитированием
  #3 (permalink)  
Старый 08.11.2011, 18:41
Аспирант
Отправить личное сообщение для karmis Посмотреть профиль Найти все сообщения от karmis
 
Регистрация: 25.06.2011
Сообщений: 44

в том то и проблема, что если делать через html -- то затирается все содержимое класса и выводит iframe(ну если через html -- то нормально)

а если делать так
$(".class").append("<iframe src='туда'>"+req.responseText+"</iframe>");


то возвращается сначала пустой <iframe>, потом уже с вложением
Ответить с цитированием
  #4 (permalink)  
Старый 08.11.2011, 19:19
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Зачем каждый раз создавать iframe, неужели нельзя программно изменять его атрибуты? и зачем использовать запрос к серверу если то что вы пытайтесь сделать вполне можно сделать без обращения к серверу?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery Click() не работает на объекте, созданном Ajax vovabigov jQuery 13 09.09.2012 14:25
JQuery AJAX, поймать разрыв соединения ilya.tk AJAX и COMET 10 30.12.2010 17:13
Не работает jQuery меню с AJAX eugene1986 jQuery 0 08.07.2010 18:49
JQuery + Ajax = загрузка изображений jokerbot jQuery 0 06.12.2009 15:10
jquery ajax html alexandre jQuery 2 18.11.2009 23:08