Тема: Ajax filter
Показать сообщение отдельно
  #1 (permalink)  
Старый 28.03.2009, 04:56
Аспирант
Отправить личное сообщение для grusha Посмотреть профиль Найти все сообщения от grusha
 
Регистрация: 01.03.2009
Сообщений: 55

Ajax filter
Опять только на Вас и уповаю javascript Гуры
Есть такая форма.
<form action="" method="POST" id="thisform">		
		<label>Comments</label><br />
		<textarea name="comment_content" class="comment-form" rows="6" cols="96"/></textarea><br />
		
		<input type="submit" name="submit" value="Submit" class="log2" id="submit_ajax" />
		<input type="hidden" name="process" value="newcomment" />
		<input type="hidden" name="randkey" value="{$randkey}" />
		<input type="hidden" name="link_id" value="{$link_id}" />
		<input type="hidden" name="user_id" value="{$user_id}" />
	</form>

Это форма отправки комментария.
Это код , как пример, показа комментариев

<ol class="commentlist">
<div id="comment_body">
this text comments
</div>
</ol>


С помощью jQuery и Ajax хочу чтобы после отправки формы , коммент появлялся сразу на странице.
jQuery запрос написал такой:

jQuery('#submit_ajax').click(function(event) {
		var this_filed = jQuery(this);
		var comment_content = jQuery("textarea[name='comment_content']").val();
		var process = jQuery("input[name='process']").val();
		var randkey = jQuery("input[name='randkey']").val();
		var link_id = jQuery("input[name='link_id']").val();
		var user_id = jQuery("input[name='user_id']").val();
		ajax_comments (comment_content,process,randkey,link_id,user_id);
		return false;
		});

function ajax_comments (comment_content,process,randkey,link_id,user_id){
		jQuery.ajax({
			data:  "comment_content="+comment_content+"&process=" + process+"&randkey=" + randkey+"&link_id=" + link_id+"&user_id=" + user_id,
			type:'POST',
			 success: function(aws){
			 var response = jQuery("<ol>").html(aws);
	
	   jQuery(".commentlist").empty();
			jQuery('.commentlist').append(response.find('.commentlist'));
			
		 
							
			 },
			 error: function (aws){
			 }
		});

Вобщем то запрос отправляется нормально и комментарии обновляются , но только по 3 - 4 раза сразу.
Т.е. Такой запрос возвращает мне всю страницу ,вместе со всеми <body><head> и т.д. поэтому все что подключенно к файлу index.php , во время запроса тоже выполняется.
А вопрос такой .... есть ли возможность из полученного Ajax запроса удалить весь не нужный мне код , а оставить только то что находиться в тегах <ol class="commentlist">, т.е. говоря более менее русским языком , что бы обновлялся вообще только этот тег.
Заранее спасибо .

Последний раз редактировалось grusha, 28.03.2009 в 05:03.
Ответить с цитированием