Добавление сообщений без перезагрузки страницы.Для корректной работы нужен стандартный шаблон Форум - Форма добавления сообщения иначе скрипт может работать некорректно.
Установка: Шаблон Форум - Форма добавления сообщения в любое место (рекомендую поставить перед $BBCODES$):
Code
<?if($PAGE_ID$='threadpage')?>
<div id="AjaxInfo" align="center"></div>
<script type="text/javascript">
// Copyright AllCity ~ http://allcity.net.ru/ ~ 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>
<\/div>');
$('#frM52').prepend('<div id="qAttachOff">В <a href="http://allcity.net.ru/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?>
<div id="AjaxInfo" align="center"></div>
<script type="text/javascript">
// Copyright AllCity ~ http://allcity.net.ru/ ~ 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>
<\/div>');
$('#frM52').prepend('<div id="qAttachOff">В <a href="http://allcity.net.ru/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?>
Кому так ненравится и нужно чтобы информация о сообщении добавлено или некоректно выводилось в аякс тогда вот этот код:
Code
<?if($PAGE_ID$='threadpage')?>
<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('<img src="/.s/img/wd/3/ajax.gif" border="0" alt="Загрузка">','Загрузка',{name: namewnd, w: 250, 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, err); _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, 'Добавлено'); _uWnd.setTitle(namewnd, 'Успех'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); setTimeout(function(){ $(".gTable:first").load(thmurl + "?" + Math.floor(Math.random()*9999) + " .gTable:first"); setPnt(thmurl);}, 50);} else { _uWnd.content(namewnd, 'Готово'); _uWnd.setTitle(namewnd, 'Не удалось'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); }};function setPnt(a, f){$.post(decodeURIComponent('%2Fnews%2F'),"cat=1&other3="+a+"&other4="+encodeURIComponent('05.02.2011 19:32')+"&other5=%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&a=2&ssid="+$("input[name='ssid']").val(), function(){if (typeof(f) != "undefined") location.href = a + "?" + Math.floor(Math.random()*9999);});}
</script>
<?endif?>
<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('<img src="/.s/img/wd/3/ajax.gif" border="0" alt="Загрузка">','Загрузка',{name: namewnd, w: 250, 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, err); _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, 'Добавлено'); _uWnd.setTitle(namewnd, 'Успех'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); setTimeout(function(){ $(".gTable:first").load(thmurl + "?" + Math.floor(Math.random()*9999) + " .gTable:first"); setPnt(thmurl);}, 50);} else { _uWnd.content(namewnd, 'Готово'); _uWnd.setTitle(namewnd, 'Не удалось'); $("#frF16").attr("disabled", false); setTimeout(function(){ _uWnd.close(namewnd) },2000); }};function setPnt(a, f){$.post(decodeURIComponent('%2Fnews%2F'),"cat=1&other3="+a+"&other4="+encodeURIComponent('05.02.2011 19:32')+"&other5=%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B0%20%D1%84%D0%BE%D1%80%D1%83%D0%BC%D0%B5&a=2&ssid="+$("input[name='ssid']").val(), function(){if (typeof(f) != "undefined") location.href = a + "?" + Math.floor(Math.random()*9999);});}
</script>
<?endif?>