Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ajax filter (https://javascript.ru/forum/jquery/3204-ajax-filter.html)

grusha 28.03.2009 04:56

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:08

Также хотел спросить....может для нормальной работы этого кода надо использовать jquery.form.js ?

x-yuri 28.03.2009 18:41

Цитата:

Опять только на Вас и уповаю javascript Гуры
даже отвечать как-то неудобно *SCRATCH*

так а в чем проблемы? Тот ajax-запрос, который добавляет комментарий просто должен возвращать html-разметку для комментария, которые будет вставлен (и тут удобнее будет load, чем ajax, думаю)

grusha 29.03.2009 05:20

Цитата:

Сообщение от x-yuri (Сообщение 15406)
так а в чем проблемы? Тот ajax-запрос, который добавляет комментарий просто должен возвращать html-разметку для комментария, которые будет вставлен (и тут удобнее будет load, чем ajax, думаю)

Ну если бы он возвращал только html-разметку для комментария , то проблем наверно не было бы :)
Но в моём случае он возвращет всю разметку html , т.е. разметку всей страници , включая <body><head> и т.д. . В этом то я и думаю проблема.
Изменить код самого добавления комментов я не могу. По этому и задал вопрос , может как то можно,что бы из полученного Ajax запроса удалить весь не нужный мне код , а оставить только то что находиться в тегах <ol class="commentlist">, т.е. говоря более менее русским языком , что бы обновлялся вообще только этот тег.

x-yuri 29.03.2009 22:12

Цитата:

Изменить код самого добавления комментов я не могу
почему?

Цитата:

Тот ajax-запрос, который добавляет комментарий просто должен возвращать html-разметку для комментария
второй вариант - страничка должна хранить шаблон разметки комментария, по которому будет добавляться новый комментарий. В этом случае надо будет изменить скрипт добавления комментария, чтобы никакая разметка не выводилась. Остальные варианты, которые приходят мне в голову, - пляски с бубном и извращения

grusha 30.03.2009 18:13

Спасибо .
Вобщем как я понимаю надо менять сам файл добавления комментов , остальное это извращение :)


Часовой пояс GMT +3, время: 09:25.