Страница 1 из 4

Добавление сообщений без перезагрузки страницы.

Добавлено: 27 мар 2009, 17:59
AllCity
Изображение
Вот собственно по многим просьбам (ЛС) написал скрипт добавление сообщений без перезагрузки страницы.

Установка: Шаблон Форум - Форма добавления сообщения в любое место (рекомендую поставить перед $BBCODES$):

Код: Выделить всё

<?if($PAGE_ID$='threadpage')?>

<div id="AjaxInfo" align="center"></div>
<script type="text/javascript">
// Copyright AllCity ~ http://web-codes.net/ ~ Ajax Form Send 1.1.0
$(document).ready(function(){
$('#frM16').prepend('<div id="qAddOn"><input id="qAdd" type="checkbox" value="1" checked="checked" /> <label for="qAdd">Использовать быстрый ответ?<\/label><br /><\/div>');
$('#frM52').prepend('<div id="qAttachOff">В <a href="http://web-codes.net/viewtopic.php?f=4&t=3350"><b>быстром ответе<\/b><\/a> прикрепление файлов недоступно!<\/div>');
$('#frM52 input').hide();
$('#qAdd').click(function(){if($('#qAdd').attr('checked')==false){$('#frM52 input,#imblock1,#iplus,#iCode1').show();$('#qAttachOff').hide();}else{$('#frM52 input,#imblock1,#iplus,#iCode1').hide();$('#qAttachOff').show();}});
$('#frF16').click(function(){
if($('#qAdd').attr('checked')==false){return true;}
$('div#AjaxInfo').html('<span style="color:#008000;"><img src="http://src.ucoz.net/img/ma/m/i1.gif" border="0" align="absmiddle" /> Передача данных...<\/span>');
$.post('/forum/',$('form[name="addform"]').serialize(),function(a){
if($(a).find('td#frM2').size()!=0){$('div#AjaxInfo').html('<span style="color:#FF0000;"><img src="http://src.ucoz.ru/img/icon/er.png" border="0" align="absmiddle" /> '+$(a).find('#frM2').html()+'<\/span>');}
if(a.indexOf('Новый ответ был успешно добавлен')!=-1){$('div#AjaxInfo').html('<span style="color:#0000FF;"><img src="http://src.ucoz.ru/img/icon/ok.png" border="0" align="absmiddle" /> Сообщение успешно добавлено.<\/span>');$('textarea#message').val('');}
});
return false;
});});
</script>
<?endif?>

сохраняем и радуемся :lol: .

Скрипт был протестирован в IE 8/7/6, FireFox 3/2, Opera 9.6 с использованием jQ 1.3.2 и jQ 1.2.6.
P.S. Для корректной работы нужен стандартный шаблон Форум - Форма добавления сообщения иначе скрипт может работать некорректно.

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 27 мар 2009, 18:06
google08
... и для установки нужно подключить JQuery ... ;)

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 27 мар 2009, 20:54
AllCity
Ну это само собой :)

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 27 мар 2009, 21:01
PuCyHOK
а на сколько это может нагрузить загрузку форума?
и почему не видно сообщения сразу, когда добавил?)
когда скрипт по этому поводу будет дороботан?

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 28 мар 2009, 10:32
AllCity
PuCyHOK писал(а):а на сколько это может нагрузить загрузку форума?

а почему должно нагружать? отправка сразу делается через post запрос.
PuCyHOK писал(а):и почему не видно сообщения сразу, когда добавил?)

так выглядит не красиво :) ну если хочешь вот добавь это и будет тебе счастья :lol:
Найти:

Код: Выделить всё

$('textarea#message').val('');

добавить после найденного куска кода:

Код: Выделить всё

$.get($(a).find('a').attr('href').replace(/#([0-9]+)/,''),function(a){$('table.gTable:first').replaceWith($('table.gTable:first',$(a)));});

и будет как на U.Helper ;) но не рекомендую ставить иначе возможные глюки :D .

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 28 мар 2009, 22:52
Se7en
Спасибо...

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 29 мар 2009, 12:17
WinsenT
Когдаже будет плюсег???На юкозе он сейчас не работате...Соскучился 8-)

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 30 мар 2009, 02:44
fortyss
СПС

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 30 мар 2009, 13:12
t0t
спасибо!!!! клёвая вещь!)) :D

Re: Добавление сообщений без перезагрузки страницы.

Добавлено: 02 апр 2009, 10:28
AllCity
Подправил код после обновления uCoz 8-) .