Динамическая подгрузка контента Ajax

12
Zion-i2
На сайте с 10.06.2011
Offline
108
#11
Chukcha:
Тут нужно все же понять, что хочет ТС. а хочет он, наверное, иметь возможность что-то редактировать на лету зарегистрированным пользователем.
burunduk:
<span class="getEdit_1">Редактировать</span> <span class="getEdit_2">Редактировать</span> <span class="getEdit_3">Редактировать</span>

Вы абсолютно правы! Я пишу форум, и сейчас делаю возможность редактирования ответов в теме,

Сделал на php запрос, чтобы в течении 30ти минут после ответа его можно было редактировать

<?php
$time_now=date('d-m-Y H:i:s',strtotime("-30 minute"));
if($time>=$time_now)
{
echo "<a href=\"javascript:void(0);\" onclick=\"toAtjax($id_mess);\" >Редактировать</a>";
}
else
{
echo "<a href=\"#\">не доступно</a>";
}
?>

Я уже сделал редактирование, форма подгружается в виде сообщения, а само сообщение превращается в

<div id="preview"></div>

то есть редактируешь и сразу смотришь, но вот беда, блок

<div id="divEdit"></div>

в который я подгружаю форму редактирования находится вверху страницы, таким образом, если мы нажимаем "Редактировать" на десятом сообщении, которое уже внизу, то подгрузившуюся форму не видно, а если мы поднимемся и начнем редактировать, то не видно будет самого сообщения в котором происходит предпросмотр.

Выход 1, нужно блок

<div id="divEdit"></div>

загнать в цикл и добавить ему айди сообщения

<div id="divEdit_$id_mess"></div>

Но, я блин целый день убил, не могу додумать, как сделать, чтобы подгружать форму в блок с айди... может завтра додумаюсь, уже голова кипит просто :|

[Удален]
#12
Zion-i2:
Но, я блин целый день убил, не могу додумать как сделать, чтобы подгружать форму в блок с айди

используйте $(this). в js


$("span[class^='getEdit']").click(function(){
$(this).
....

т.е.

запишите в переменную значение класса по которому произошёл клик и из него сформируйте нужный ID

Zion-i2
На сайте с 10.06.2011
Offline
108
#13
burunduk:
используйте $(this). в js
т.е.
запишите в переменную значение класса по которому произошёл клик и из него сформируйте нужный ID

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

Вот текущий скрипт

<script type="text/javascript">
function toAtjax(id_mess){
$.ajax({
url: "getEdit.php?id_mess=" + id_mess,
cache: false,
beforeSend: function() {
$('#divEdit').html('<img src="images/loader.gif">');
},
success: function(html){
$("#divEdit").html(html);
}
});
return false;
};
</script>

Блок

<div id="divEdit"></div>

Линк с id

<a href="javascript:void(0);" onclick="toAtjax($id_mess);">Редактировать</a>

А нужно наплодить блок <div id="divEdit_$id_mess"></div> под каждым сообщением и выводить форму там где айди как и у ссылки. Ну это ладно, думаю разберусь, ато я сам не люблю когда ктото просит чтоб за него все сделали, просто думал может у кого уже есть готовый примерчик.

C
На сайте с 04.02.2005
Offline
277
#14

div id=<?=$postid?>

span class=getEdit /span

div class=postContent

/div

div class=divEdit

/div

/div

$("span.getEdit).click(function(){

var parent=$(this).parent();

parent.find('divEdit').load(...советую почитать...)

}

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий