[Ликбез]

Форма входа
Логин:
Пароль:

Меню сайта


Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать... Тема только по сайтам в системе uCoz » Добавление сообщения на форум без перезагрузки страницы

Добавление сообщения на форум без перезагрузки страницы
[1] Stels [18.02.2012, 17:18]
Недавно нашел интересный скрипт который автоматически добавляет сообщения на форум (без перезагрузки страницы)
Все бы ничего, но одно но - при добавлении, например, темы или опроса, или при редактировании сообщения отсутствует редирект обратно в тему, что не очень удобно, в связи с этим хотел бы спросить возможно ли это как нибудь исправить, или, как вариант, оставить стандартное редактирование и создание тем (с редиректом) а добавление сообщений использовать без него

Вот собственно сам скрипт:

Code
<script type="text/javascript">function haveFiles(){var f = false;$("input.uplFileFl").each(function(){if ($(this).val()) f=true;});return f}document.addform.onsubmit = function(){var namewnd = "w" + Math.floor(Math.random()*999); _uWnd.alert('Cообщение добавляется. Ждите','Загрузка',{name: namewnd, w: 260, h: 80, tm: 0}); $("#frF16").attr("disabled", true); if (haveFiles()) {_uPostForm($("form[name='addform']"), {success: function(dt){ parseResult(dt, namewnd);}})} else {$.post("/forum", $("form[name='addform']").serialize(), function(dt) {parseResult(dt, namewnd)})};return false;};function parseResult(dt, namewnd){var err = $("#frM2", dt).text(), thmurl = $("a:first", dt).attr("href"); if (err) {_uWnd.content(namewnd, '<center>'+err+'</center>'); _uWnd.setTitle(namewnd, 'Ошибка'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000);} else if ($(dt).text().indexOf("Ответ добавлен") > -1) { $("textarea#message").val(""); $("form[name='addform'] input:file").val(""); _uWnd.content(namewnd, '<center>Cообщение успешно добавлено. <b>$USERNAME$,</b> спасибо за общение на нашем форуме</center>'); _uWnd.setTitle(namewnd, 'Успех'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); setTimeout(function(){ $(".gDivRight:first").load(thmurl + "?" + Math.floor(Math.random()*9999) + " .gDivRight:first"); setPnt(thmurl);}, 50);} else { _uWnd.content(namewnd, 'Cообщение успешно добавлено. <b>$USERNAME$,</b> спасибо за общение на нашем форуме'); _uWnd.setTitle(namewnd, 'Ответ добавлен'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); }};</script>


Сообщение отредактировал Stels - Суббота, 18.02.2012, 17:19
[2] likbezz [18.02.2012, 17:41]
Stels,
Quote (Stels)
как вариант, оставить стандартное редактирование и создание тем (с редиректом) а добавление сообщений использовать без него

Вот - вот, это будет самый путёвый вариант.
... Или вообще сделать на выбор - либо так добавлять, либо обычным способом.
...
[3] Stels [18.02.2012, 17:48]
Quote (likbezz)
Вот - вот, это будет самый путёвый вариант

А не подскажете что убрать из приведенного выше кода, чтобы он отвечал исключительно за добавление сообщений, а их редактирования и создания тем не касался?
[4] likbezz [18.02.2012, 17:53]
Stels, А условные операторы на что? ...
... Не ищи сложных путей ...

Code
<?if($PAGE_ID$!='add')?>скрипт<?endif?>
[5] Stels [18.02.2012, 18:38]
Все гениальное - просто, условные операторы совсем вылетели из головы smile
Все заработало как надо, только я так поставил:

Code
<?if($PAGE_ID$='threadpage')?>скрипт<?endif?>
[6] likbezz [19.02.2012, 08:47]
Stels,
Quote (Stels)
Все заработало как надо, только я так поставил:

Точно ) Чёт это я... )
Совершенно верно.


Полная версия сайта