Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Resposta rápida sem refresh ModerNBB
2 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Resposta rápida sem refresh ModerNBB
Detalhes da questão
Endereço do fórum: http://www.ultimatelife.forumeiros.com
Versão do fórum: ModernBB
Descrição
Bom, tinha o seguinte código:
- Código:
//By doannamthai-getover || forumotion-forumvi ;
jQuery(function() {
jQuery('#quick_reply input[name="post"]').click(function(a) {
a.preventDefault();
var g = jQuery("#text_editor_textarea").sceditor('instance').val();
var href = jQuery('a[href*="mode=reply"]').attr("href");
var value = jQuery("#text_editor_textarea").sceditor("instance").val().replace(/\s/g, '').length;
if (10 <= value) {
jQuery('<div class="lreply" style="color: red;font-weight: bold; text-transform: uppercase;"><br>Sua mensagem está sendo enviada...</div>').appendTo(".frm-buttons");
jQuery.post(href, {
"message": g,
"auth[]": jQuery("#quick_reply input[name='auth[]']:last").val(),
"lt": jQuery("#quick_reply input[name='lt']").val(),
"tid": jQuery("#quick_reply input[name='tid']").val(),
"attach_sig": "1",
"post": "Send"
}, function(t) {
console.log(t);
if (t.indexOf("Flood") != -1) {
alert("Calma... Espere 5 segundos para postar.");
jQuery(".lreply").fadeOut(300);
}
if (t.indexOf("A new") != -1) {
alert("Oops... Parece que outra pessoa postou junto com você. Para evitarmos problemas, copie o código da caixa de texto e tente de novo!");
jQuery(".lreply").fadeOut(300);
}
if (jQuery(t).find(".message a:first").attr('href').length > 1) {
var f = jQuery(t).find(".message a:first").attr('href');
jQuery.get(f, function(z) {
jQuery("#quick_reply input[name='auth[]']:last").val(jQuery(z).find("#quick_reply input[name='auth[]']:last").val());
jQuery("#quick_reply input[name='lt']").val(jQuery(z).find("#quick_reply input[name='lt']").val());
jQuery(z).find(".post:last").hide().insertAfter(".post:last").slideDown(400);
jQuery('form#quick_reply').before("<div align='center' style='padding: 5px;'><img src=http://2img.net/i/fa/admin/icones/big_ico/warning.png><br>É proibido fazer double post, edite o seu tópico para acrescentar o que quer.</div>").remove();
});
jQuery("#text_editor_textarea").sceditor('instance').val("");
jQuery(".lreply").fadeOut(300);
}
});
} else {
alert("Poste no mínimo 10 caracteres para enviar a mensagem.");
}
});
});
Re: Resposta rápida sem refresh ModerNBB
Beleza, ele funciona : http://prntscr.com/gvspbw
Maaaas, quando eu reinicio a página: http://prntscr.com/gvsple o post não está mais lá
Maaaas, quando eu reinicio a página: http://prntscr.com/gvsple o post não está mais lá
Re: Resposta rápida sem refresh ModerNBB
Tente trocar pela minha versão:
- Código:
(function ($) {
'use strict';
var ajaxPostingConfig = {
'minForPost': 15,
'maxForPost': 15000
};
var ajaxPostingStyles = [
'.ajax-alert {',
' width: 70%;',
' text-align: center;',
' margin: 20px auto;',
' color: #555;',
' background-color: transparent;',
' border: solid 1px #ddd;',
' border-bottom-width: 2px;',
' border-radius: 3px;',
' padding: 12px;',
' font-weight: 600;',
'}',
'',
'.ajax-alert.ajax-alert-sucess {',
' border-color: #71be47!important;',
' color: #71be47!important;',
' box-shadow: inset 0 0 80px rgba(113, 190, 71, 0.3);',
'}',
'',
'.ajax-alert.ajax-alert-danger {',
' color: #e6594c!important;',
' border-color: #e6594c!important;',
' box-shadow: inset 0 0 0 80px rgba(226, 99, 88, 0.15);',
'}',
].join('\n');
$(function () {
var $postingResult = $([
'<div class="posting-results">',
'</div>',
].join('\n'))
.insertBefore('div#textarea_content')
;
$('<style>', {
type: 'text/css',
text: ajaxPostingStyles
}).appendTo('head');
$('form#quick_reply')
.on('submit', function (event) {
if ($('textarea').sceditor('instance').val().length < ajaxPostingConfig.minForPost) {
$postingResult
.html([
'<div class="ajax-alert ajax-alert-danger">',
' <div class="fa fa-exclamation-circle"></div>',
' <span>Para postar, sua mensagem deve ter no mínimo ' + ajaxPostingConfig.minForPost + ' caracteres.</span>',
'</div>',
].join('\n'))
;
return false;
}
if ($('textarea').sceditor('instance').val().length > ajaxPostingConfig.maxForPost) {
$postingResult
.html([
'<div class="ajax-alert ajax-alert-danger">',
' <div class="fa fa-exclamation-circle"></div>',
' <span>Sua mensagem possui mais que o limite de caracteres (' + ajaxPostingConfig.maxForPost + ') para a postagem.</span>',
'</div>',
].join('\n'))
;
return false;
}
$.ajax({
type: 'POST',
url: '/post',
data: {
t: location.pathname.replace(/^\/t(\d+)-.*/gi, '$1'),
mode: 'reply',
tid: $('[name="tid"]').val(),
post: 1,
message: $('textarea').sceditor('instance').val(),
},
beforeSendo: function(context) {
$postingResult
.html([
'<div class="ajax-alert ajax-alert-loading">',
' <div class="fa fa-circle-o-notch fa-spin"></div>',
' <span>Carregando...</span>',
'</div>',
].join('\n'))
;
},
success: function(context) {
var $link = $('a[href*="/viewtopic"]');
$.get($link.attr('href'), function(context) {
var $post = $('.post:last', context);
$post
.hide()
.insertAfter('.post:last')
.slideDown('fast', function() {
$('html, body').animate({
scrollTop: $('.post:last').offset().top
}, 500);
});
});
// Adicionar alerta:
$postingResult
.html([
'<div class="ajax-alert ajax-alert-sucess">',
' <div class="fa fa-check"></div>',
' <span>Mensagem postada com sucesso!</span>',
'</div>',
].join('\n'))
;
// Remover conteúdo do SCEditor:
$('textarea').sceditor('instance').val('');
console.info('[Postar em Ajax] {SUCESSO} ID do tópico onde fora postado o novo tópico: ' + location.pathname.replace(/^\/t(\d+)-.*/gi, '$1'));
},
fail: function(context) {
$postingResult
.html([
'<div class="ajax-alert ajax-alert-danger">',
' <div class="fa fa-exclamation-circle"></div>',
' <span>Ocorreu um erro ao tentar postar sua mensagem. Tente esperar 10 segundos.</span>',
' <br />',
' <span>Caso o problema persista, acesse o Fórum dos Fóruns, e solicite ajuda.</span>',
'</div>',
].join('\n'))
;
},
});
event.preventDefault();
})
;
});
}(jQuery));
Re: Resposta rápida sem refresh ModerNBB
Méh, o senhor ativou aquela opção no Painel de Controle?
Em:
Geral -> Fórum -> Segurança.
Procure por "Desautorizar formulários não oficiais de postarem no fórum e enviar mensagens privadas" e marque "não". o/
Em:
Geral -> Fórum -> Segurança.
Procure por "Desautorizar formulários não oficiais de postarem no fórum e enviar mensagens privadas" e marque "não". o/
Re: Resposta rápida sem refresh ModerNBB
Luiz escreveu:Méh, o senhor ativou aquela opção no Painel de Controle?
Em:
Geral -> Fórum -> Segurança.
Procure por "Desautorizar formulários não oficiais de postarem no fórum e enviar mensagens privadas" e marque "não". o/
Realmente '-' resultou kkk
Re: Resposta rápida sem refresh ModerNBB
Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada. Tópico marcado como Resolvido e movido para Questões resolvidas. |
Tópicos semelhantes
» Resposta rapida sem refresh
» Resposta rapida sem refresh
» Reposta rápida sem refresh
» Trocar a aparência da resposta rápida pela resposta normal.
» Resposta rápida
» Resposta rapida sem refresh
» Reposta rápida sem refresh
» Trocar a aparência da resposta rápida pela resposta normal.
» Resposta rápida
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos