Кодировка HTML | Демо-сайт CMS uCoz | Почта

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

Архив полностью рабочих скриптов и так далее...

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

Сообщение AllCity » 27 мар 2009, 17:59

Изображение
Вот собственно по многим просьбам (ЛС) написал скрипт добавление сообщений без перезагрузки страницы.

Установка: Шаблон Форум - Форма добавления сообщения в любое место (рекомендую поставить перед $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. Для корректной работы нужен стандартный шаблон Форум - Форма добавления сообщения иначе скрипт может работать некорректно.
Последний раз редактировалось AllCity 02 апр 2009, 21:12, всего редактировалось 4 раз(а).
Аватара пользователя
AllCity
Администратор
Администратор
 
Автор темы
Сообщения: 2505
Возраст: 32
Зарегистрирован: 18 апр 2008, 17:52
Карма: + 147 -
Откуда: Израиль, Тель-Авив

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

Сообщение google08 » 27 мар 2009, 18:06

... и для установки нужно подключить JQuery ... ;)
Жизнь - игра. Мотив плохой, зато классная графика
Аватара пользователя
google08
Модератор
Модератор
 
Сообщения: 611
Возраст: 31
Зарегистрирован: 29 апр 2008, 16:27
Карма: + 2 -
Откуда: Украина

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

Сообщение AllCity » 27 мар 2009, 20:54

Ну это само собой :)
Аватара пользователя
AllCity
Администратор
Администратор
 
Автор темы
Сообщения: 2505
Возраст: 32
Зарегистрирован: 18 апр 2008, 17:52
Карма: + 147 -
Откуда: Израиль, Тель-Авив

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

Сообщение PuCyHOK » 27 мар 2009, 21:01

а на сколько это может нагрузить загрузку форума?
и почему не видно сообщения сразу, когда добавил?)
когда скрипт по этому поводу будет дороботан?
что такое бесконечность?
Это большая чёрная дыра в жизни, которая есть у каждого человека сзади :D (с) cuclik

Истина естественна.
Не важно верят в неё или нет.
Аватара пользователя
PuCyHOK
Генерал-лейтенант
Генерал-лейтенант
 
Сообщения: 830
Возраст: 30
Зарегистрирован: 20 апр 2008, 20:32
Карма: + 5 -

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

Сообщение AllCity » 28 мар 2009, 10:32

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 .
Аватара пользователя
AllCity
Администратор
Администратор
 
Автор темы
Сообщения: 2505
Возраст: 32
Зарегистрирован: 18 апр 2008, 17:52
Карма: + 147 -
Откуда: Израиль, Тель-Авив

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

Сообщение Se7en » 28 мар 2009, 22:52

Спасибо...
Se7en
Салага
Салага
 
Сообщения: 4
Зарегистрирован: 12 фев 2009, 04:05
Карма: + 0 -

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

Сообщение WinsenT » 29 мар 2009, 12:17

Когдаже будет плюсег???На юкозе он сейчас не работате...Соскучился 8-)
Аватара пользователя
WinsenT
Рядовой
Рядовой
 
Сообщения: 22
Возраст: 29
Зарегистрирован: 09 июн 2008, 17:46
Карма: + 0 -
Откуда: Раменское City

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

Сообщение fortyss » 30 мар 2009, 02:44

СПС
fortyss
Салага
Салага
 
Сообщения: 1
Зарегистрирован: 02 дек 2008, 20:48
Карма: + 0 -

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

Сообщение t0t » 30 мар 2009, 13:12

спасибо!!!! клёвая вещь!)) :D
t0t
Рядовой
Рядовой
 
Сообщения: 23
Зарегистрирован: 06 фев 2009, 16:37
Карма: + 0 -

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

Сообщение AllCity » 02 апр 2009, 10:28

Подправил код после обновления uCoz 8-) .
Аватара пользователя
AllCity
Администратор
Администратор
 
Автор темы
Сообщения: 2505
Возраст: 32
Зарегистрирован: 18 апр 2008, 17:52
Карма: + 147 -
Откуда: Израиль, Тель-Авив

След.

Вернуться в Архив скриптов и интересных решений

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

cron