Postar em ajax com avisos

+3
tikky
virus
ranzatti
7 participantes

Página 1 de 2 1, 2  Seguinte

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Tópico resolvido Postar em ajax com avisos

Mensagem por ranzatti 12.03.18 20:15

Detalhes da questão


Endereço do fórum: http://policiafederal-dpf.forumeiros.com/
Versão do fórum: phpBB3

Descrição


então eu gostaria de ajuda neste tutorial > https://ajuda.forumeiros.com/t107420-tutorial-postar-em-ajax-com-avisos o codigo fornecido no mesmo não funciona poderia me ajudar ? obg!
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 13.03.18 3:09

Olá, o seu fórum está ocorrendo diversos erros no console, talvez seja este o problema.
http://prntscr.com/iqexo6
http://policiafederal-dpf.forumeiros.com/99484.js

Até.
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 13.03.18 3:20

virus escreveu:Olá, o seu fórum está ocorrendo diversos erros no console, talvez seja este o problema.
http://prntscr.com/iqexo6
http://policiafederal-dpf.forumeiros.com/99484.js

Até.

Muito estranho esse código JS nem existe no meu painel de controle como mostra a print abaixo

http://prntscr.com/iqf01z

me ajuda ai virus por favor Triste Triste

ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 13.03.18 3:29

Desativa um de cada deixando sem nenhuma opção de investimento marcada e salva.

E testa o script individualmente com os demais desativados
https://ajuda.forumeiros.com/t107420-tutorial-postar-em-ajax-com-avisos

Lembrando que é funcional em fórum PHPBB3.
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 13.03.18 3:40

virus escreveu:Desativa um de cada deixando sem nenhuma opção de investimento marcada e salva.

E testa o script individualmente com os demais desativados
https://ajuda.forumeiros.com/t107420-tutorial-postar-em-ajax-com-avisos

Lembrando que é funcional em fórum PHPBB3.

Virus eu fiz um teste em um fórum do meu amigo e deletamos todos os JS dele e coloquei o código certinho porem não funciona e o forum dele é a mesma versão que a minha!
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 13.03.18 3:46

E consegue utilizar este código do Gscode? 
Desative o anterior e use este com investimento nos tópicos e teste.
Código:
jQuery(document).on('ready', function() {
    // POSTAR RÁPIDO
    var hrefReply = jQuery('a[href^="/post?t="]').attr('href');
    jQuery('#quick_reply input[name="post"]').click(function(d) {
      d.preventDefault();
      var valor = jQuery('#text_editor_textarea').sceditor('instance').val().replace(/\s/g,'').length;
      if(valor == 0) {
          alert("Seu post está vazio");
      } else if(20 > valor) {
          alert("Você precisa digitar pelo menos mais " + (20 - valor) + " caracteres, por favor, não faça flood");
      } else if(15000 < valor) {
          alert("Seu post passou de 15000 caracteres, diminua-o");
      } else if(20 <= valor && valor <= 15000) {
        jQuery(this).before(
        '<span id="qr_posting_msg">' +
        '      <img src="http://i.imgur.com/hujM7Fc.gif" alt="Enviando Resposta Rápida - Aguarde" title="Enviando Resposta Rápida - Aguarde">' +
        '      <strong>Enviando Resposta Rápida - Aguarde</strong>' +
        '</span>'
        );
        jQuery.post(hrefReply, {
              'message': jQuery('#text_editor_textarea').sceditor('instance').val(),
              'post': '1',
              'attach_sig': '1'
        }, function(d) {
              var href = jQuery('a[href^="/viewtopic"]', d).attr('href');
              jQuery.get(href, function(e) {   
                  jQuery('.post:last', e).hide().insertAfter('.post:last').slideDown('fast', function() {
                      jQuery('html, body').animate({
                          scrollTop: jQuery('.post:last').offset().top
                      }, 500);
                  });
              });
              jQuery('#text_editor_textarea').sceditor('instance').val('');
              jQuery('#qr_posting_msg').remove();
        });
    } 
    });
});
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 13.03.18 3:49

virus escreveu:E consegue utilizar este código do Gscode? 
Desative o anterior e use este com investimento nos tópicos e teste.
Código:
jQuery(document).on('ready', function() {
    // POSTAR RÁPIDO
    var hrefReply = jQuery('a[href^="/post?t="]').attr('href');
    jQuery('#quick_reply input[name="post"]').click(function(d) {
      d.preventDefault();
      var valor = jQuery('#text_editor_textarea').sceditor('instance').val().replace(/\s/g,'').length;
      if(valor == 0) {
          alert("Seu post está vazio");
      } else if(20 > valor) {
          alert("Você precisa digitar pelo menos mais " + (20 - valor) + " caracteres, por favor, não faça flood");
      } else if(15000 < valor) {
          alert("Seu post passou de 15000 caracteres, diminua-o");
      } else if(20 <= valor && valor <= 15000) {
        jQuery(this).before(
        '<span id="qr_posting_msg">' +
        '      <img src="http://i.imgur.com/hujM7Fc.gif" alt="Enviando Resposta Rápida - Aguarde" title="Enviando Resposta Rápida - Aguarde">' +
        '      <strong>Enviando Resposta Rápida - Aguarde</strong>' +
        '</span>'
        );
        jQuery.post(hrefReply, {
              'message': jQuery('#text_editor_textarea').sceditor('instance').val(),
              'post': '1',
              'attach_sig': '1'
        }, function(d) {
              var href = jQuery('a[href^="/viewtopic"]', d).attr('href');
              jQuery.get(href, function(e) {   
                  jQuery('.post:last', e).hide().insertAfter('.post:last').slideDown('fast', function() {
                      jQuery('html, body').animate({
                          scrollTop: jQuery('.post:last').offset().top
                      }, 500);
                  });
              });
              jQuery('#text_editor_textarea').sceditor('instance').val('');
              jQuery('#qr_posting_msg').remove();
        });
    } 
    });
});

Então postar rápido ele posta porem sem as mensagens etc ai fica igual ao meu antigo oque podemos fazer pra funcionar ?
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 13.03.18 4:32

Preview
http://prntscr.com/iqfhik

Código:  (INVESTIMENTO TÓPICOS)
Código:
jQuery(document).on('ready', function() {
    // POSTAR RÁPIDO
    var hrefReply = jQuery('a[href^="/post?t="]').attr('href');
    jQuery('#quick_reply input[name="post"]').click(function(d) {
      d.preventDefault();
      var valor = jQuery('#text_editor_textarea').sceditor('instance').val().replace(/\s/g,'').length;
      if(valor == 0) {
          alert("Seu post está vazio");
      } else if(20 > valor) {
          alert("Você precisa digitar pelo menos mais " + (20 - valor) + " caracteres, por favor, não faça flood");
      } else if(15000 < valor) {
          alert("Seu post passou de 15000 caracteres, diminua-o");
      } else if(20 <= valor && valor <= 15000) {
        jQuery('#quick_reply').append(this).before(
      '<span id="qr_posting_msg" style="background-color: #d5f39b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
        '      <span>Postada com sucesso!</span>' +
        '</span>'
        );
        jQuery.post(hrefReply, {
              'message': jQuery('#text_editor_textarea').sceditor('instance').val(),
              'post': '1',
              'attach_sig': '1'
        }, function(d) {
              var href = jQuery('a[href^="/viewtopic"]', d).attr('href');
              jQuery.get(href, function(e) { 
                  jQuery('.post:last', e).hide().insertAfter('.post:last').slideDown('fast', function() {
                      jQuery('html, body').animate({
                          scrollTop: jQuery('.post:last').offset().top
                      }, 500);
                  });
              });
              jQuery('#text_editor_textarea').sceditor('instance').val('');
        });
    }
    });
});




Até, se resolvi deixa o coraçaum <3
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 13.03.18 14:58

então postar rápido ele posta mais o problema que quando ele posta não mostra a postagem feita so mostra se vc der F5 na página

eu vi esse código para ModerNBB poderia transforma-lo para PHPBB3 ?

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));
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por tikky 13.03.18 15:01

ranzatti escreveu:então postar rápido ele posta mais o problema que quando ele posta não mostra a postagem feita so mostra se vc der F5 na página

eu vi esse código para ModerNBB poderia transforma-lo para PHPBB3 ?

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));

Olá,
Para falar a verdade não têm como transformar ele código para ficar compatível com PunBB3 pelo facto do editor ser comum em todas as versões, logo não muda as class nem outros.

obrigado
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 13.03.18 16:13

Pedxz escreveu:Olá,
Para falar a verdade não têm como transformar ele código para ficar compatível com PunBB3 pelo facto do editor ser comum em todas as versões, logo não muda as class nem outros.

obrigado

Entendi então obrigado esperando alguma solução pra minha duvida!
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 13.03.18 17:13

Teste sem esses scripts ativados em seu fórum; 
Regras nas postagens e obrigado por postar.
http://prntscr.com/iqpbjr
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 13.03.18 20:21

virus escreveu:Teste sem esses scripts ativados em seu fórum; 
Regras nas postagens e obrigado por postar.
http://prntscr.com/iqpbjr

Regras nas postagens não é um código JS e já desativei tmb o obg

OBS: so uma pergunta se eu passar um fórum da mesma versão que ja tem o script de postagem poderia conseguir o codigo ?
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 13.03.18 20:58

ranzatti escreveu:
virus escreveu:Teste sem esses scripts ativados em seu fórum; 
Regras nas postagens e obrigado por postar.
http://prntscr.com/iqpbjr

Regras nas postagens não é um código JS  e já desativei tmb o obg

OBS: so uma pergunta se eu passar um fórum da mesma versão que ja tem o script de postagem poderia conseguir o codigo ?

Não entendi. E poderia disponibilizar o código no qual referi acima na imagem? digo nas regras das postagens.

Ficarei no aguardo.
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 13.03.18 21:39

Regras das postagens não é um código JS e sim colocado no fórum como na imagem abaixo

http://prntscr.com/iqt9me

so uma pergunta se eu passar um fórum da mesma versão que ja tem o script de postagem poderia conseguir o codigo ?
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 16.03.18 5:13

UP para movimentação de tópico e esperando alguma solução para minha duvida
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 16.03.18 19:24

Eu quero saber do código que está nas postagens
http://prntscr.com/is6qh0

O código e funcional e foi testado. Provável que seja o que mostrei na imagem acima que está corrompendo o código. E mudando a versão do fórum provável que não resolva o problema. Até por que, o que causa isso são as aplicações que você já possui em seu fórum.

Até.

virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 16.03.18 19:49

é estranho pois um outro fórum usa esse mesmo código de regras e também utiliza a mesma versão do meu fórum e utiliza o post em ajax mais segue abaixo o código!

Código:
[center][img]http://icons.iconarchive.com/icons/oxygen-icons.org/oxygen/48/Status-dialog-warning-icon.png[/img][/center] [table style="border: 1px solid #4080FF; padding: 10px 10px 10px 10px; width: 90%; margin-left: 5%; margin-right: 5%; border-radius: 10px 10px 10px 10px; -moz-border-radius: 10px 10px 10px 10px; -webkit-border-radius: 10px 10px 10px 10px; border-radius: 10px 10px 5px #A0A0A0; -moz-border-radius: 10px 10px 5px #A0A0A0; -webkit-border-radius: 10px 10px 5px #A0A0A0;"][tr][td]1. Leia as regras deste fórum para evitar tomar punições.
2. Tome cuidado com warn, se você é novato, atente para as regras, não saia postando sem envolvimento.
3. Não desrespeite o próximo.[/td][/tr][/table]
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por tikky 16.03.18 20:11

Você já tentou desativar todos os seus JS e simplesmente adicionar o JS de postar:

Código:
/ *
* Código: Postar mensagem sem refresh
* Versão: 1.0
* Autor: Daemon
* Data: 17/09/2016
*/
$(document).on("ready", function() {
 
$("body").append(
'<style>' +
'.alert-success, .alert-error {' +
'    -moz-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    -webkit-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    background: url(http://imgur.com/J3aqwYE.png) repeat-x 0 0;' +
'    box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    display: block;' +
'    font-size: 12px;' +
'    line-height: 1.6;' +
'    padding: 10px;' +
'    text-shadow: 0 1px 0 rgba(255,255,255,0.5);' +
'}' +
'.alert-success {' +
'    background-color: #cde3a4;' +
'    border: 1px solid #a8c471;' +
'    color: #436500;' +
'}' +
'.alert-error {' +
'    background-color: #ffbdbd;' +
'    border: 1px solid #d8aba7;' +
'    color: #92463f;' +
'}' +
'</style>'
);
 
var hrefResposta = $("a[href^='/post?t=']").attr("href");
var form = $("#quick_reply");
 
$("<div id='resultados_ajax'></div>").prependTo(form);
 
$("#quick_reply").submit(function(form) {
 
  var resAjax = $("#resultados_ajax"); // Elemento resultados_ajax
  var textEditorVal = $("textarea").sceditor("instance").val(); // Valor do editor
  var min = 10; // Mínimo de caracteres para o post
  var max = 15000; // Máximo de caracteres para o post (Não ultrapasse o valor limite estipulado pela forumeiros)
 
  if(textEditorVal.length < min) {
    resAjax.html("Digite pelo menos " + min + " caracteres para enviar o post").attr("class","alert-error");
    return false;
  }
  if(textEditorVal.length > max) {
    resAjax.html("Seu post ultrapassou o limite de " + max + " caracteres").attr("class","alert-error");
    return false;
  }
 
  $("input[type='submit']").attr("disabled", true);
  var parametros = $(form).serialize();
  $.ajax({
      type: "POST",
      url: hrefResposta,
      data: parametros + "&message=" + textEditorVal + "&post=1",
      beforeSend: function(objeto){
            resAjax.html("Carregando...").attr("class", false);
      },
      success: function(dados){
          var href = $("a[href^='/viewtopic']", dados).attr("href");
              $.get(href, function(e) {
                  $(".post:last", e).hide().insertAfter(".post:last").slideDown("fast", function() {
                      $("html, body").animate({
                          scrollTop: $(".post:last").offset().top
                      }, 500);
                  });
              });
              resAjax.html("Postado com sucesso!").attr("class","alert-success");
              $("input[type='submit']").attr("disabled", false);
              $("textarea").sceditor("instance").val("");
      }
  });
  return false;
});
 
});

e ativar os JS de cada vez até descobrir qual deles está a interferir com o código acima?
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 16.03.18 21:34

Sim Pedxz ja fiz um teste em fórum do meu amigo aonde eu exclui todos JS e não funcionou!
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 16.03.18 23:59

Faz um teste sem o resposta rápida marcada e os demais https://prnt.sc/iqt9me
Feliz e veja se funciona.
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 17.03.18 1:09

virus escreveu:Faz um teste sem o resposta rápida marcada e os demais https://prnt.sc/iqt9me
Feliz e veja se funciona.

Então até funcionou mais tipo tem como colocar os efeitos de postagem como aqui mostrar que esta postando e depois postado como os efeitos de postagem da daqui da FDF?
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por Eduardo Lima 17.03.18 1:15

O problema está realmente nisto que o virus está apontando... essa caixa das regras buga o post. Estarei disponibilizando o código do meu fórum que fizemos algumas modificações para que não acontecesse isto (acredito que era este fórum que estava comentando que tinha, não é!? rs)

Código:
/*
 * Código: Postar mensagem sem refresh
 * Versão: 1.0
 * Autor: Daemon
 * Data: 17/09/2016
 */
$(document).on("ready", function () {
 
$("body").append(
'<style>' +
'.alert-success, .alert-error {' +
'    -moz-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    -webkit-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    background: url(http://imgur.com/J3aqwYE.png) repeat-x 0 0;' +
'    box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    display: block;' +
'    font-size: 12px;' +
'    line-height: 1.6;' +
'    padding: 10px;' +
'    text-shadow: 0 1px 0 rgba(255,255,255,0.5);' +
'}' +
'.alert-success {' +
'    background-color: #cde3a4;' +
'    border: 1px solid #a8c471;' +
'    color: #436500;' +
'}' +
'.alert-error {' +
'    background-color: #ffbdbd;' +
'    border: 1px solid #d8aba7;' +
'    color: #92463f;' +
'}' +
'</style>'
);
 
  var hrefResposta = $("a[href^='/post?t=']").attr("href");
  var form = $("#quick_reply");
 
  $("<div id='resultados_ajax'></div>").prependTo(form);
 
  $('#quick_reply input[name="post"]').on('click', function (event) {
    event.preventDefault();
 
    var resAjax = $("#resultados_ajax"); // Elemento resultados_ajax
    var textEditorVal = $("textarea").sceditor("instance").val(); // Valor do editor
    var min = 10; // Mínimo de caracteres para o post
    var max = 15000; // Máximo de caracteres para o post (Não ultrapasse o valor limite estipulado pela forumeiros)
 
    if (textEditorVal.length < min) {
      resAjax.html("Digite pelo menos " + min + " caracteres para enviar o post").attr("class","alert-error");
      return false;
    }
    if (textEditorVal.length > max) {
      resAjax.html("Seu post ultrapassou o limite de " + max + " caracteres").attr("class","alert-error");
      return false;
    }
 
    $("input[type='submit']").attr("disabled", true);
    var parametros = $("#quick_reply").serialize();
    $.ajax({
      type: "POST",
      url: hrefResposta,
      data: parametros + "&message=" + textEditorVal + "&post=1",
      beforeSend: function (objeto) {
        resAjax.html("Carregando...").attr("class", false);
      },
      success: function (dados) {
        $("input[type='submit']").attr("disabled", false);
        if ($('div.h3:contains("Revisão do tópico")', dados).length) {
          resAjax.html("Uma nova mensagem foi adicionada no momento em que você escrevia a sua mensagem. Aperte em Pré-visualizar para ver as alterações.").attr("class", "alert-error");
          return;
        }
        var href = $("a[href^='/viewtopic']", dados).attr("href");
        $.get(href, function (e) {
          $(".post[id^='p']:last", e).hide().insertAfter(".post[id^='p']:last").slideDown("fast", function () {
            $("html, body").animate({
              scrollTop: $(".post[id^='p']:last").offset().top
            }, 500);
          });
          resAjax.html("Postado com sucesso!").attr("class", "alert-success");
          $("textarea").sceditor("instance").val("");
        });
      }
    });
    return false;
  });
});
É funcional no phpBB3, testei no ModernBB e não resultou... o nome das classes deve ser diferente e não tive tempo para ler o código novamente.

Se esse não funcionar, pode abandonar ahuahau.


Abraço o/



Obs: Sugiro aos Ajudeiros/Moderadeiros a atualizar o tutorial com este novo código, tem novas funções e é mais funcional.
avatar

Eduardo Lima
****

Membro desde : 07/03/2016
Mensagens : 243
Pontos : 380

http://www.brasilplayforever.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 17.03.18 3:16

Pelo que entendi você pode utilizar este código-> https://ajuda.forumeiros.com/t107420-tutorial-postar-em-ajax-com-avisos

Ou o do membro acima, desde que não esteja com as regras na resposta rápida. E o visual da FdF eu não posso copiar. Já se e o efeito de subir o scroll eu posso tentar fazer para você e é isso que está falando?

Até.
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 17.03.18 4:38

Eduardo Lima escreveu:O problema está realmente nisto que o virus está apontando... essa caixa das regras buga o post. Estarei disponibilizando o código do meu fórum que fizemos algumas modificações para que não acontecesse isto (acredito que era este fórum que estava comentando que tinha, não é!? rs)

Código:
/*
 * Código: Postar mensagem sem refresh
 * Versão: 1.0
 * Autor: Daemon
 * Data: 17/09/2016
 */
$(document).on("ready", function () {
 
$("body").append(
'<style>' +
'.alert-success, .alert-error {' +
'    -moz-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    -webkit-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    background: url(http://imgur.com/J3aqwYE.png) repeat-x 0 0;' +
'    box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
'    display: block;' +
'    font-size: 12px;' +
'    line-height: 1.6;' +
'    padding: 10px;' +
'    text-shadow: 0 1px 0 rgba(255,255,255,0.5);' +
'}' +
'.alert-success {' +
'    background-color: #cde3a4;' +
'    border: 1px solid #a8c471;' +
'    color: #436500;' +
'}' +
'.alert-error {' +
'    background-color: #ffbdbd;' +
'    border: 1px solid #d8aba7;' +
'    color: #92463f;' +
'}' +
'</style>'
);
 
  var hrefResposta = $("a[href^='/post?t=']").attr("href");
  var form = $("#quick_reply");
 
  $("<div id='resultados_ajax'></div>").prependTo(form);
 
  $('#quick_reply input[name="post"]').on('click', function (event) {
    event.preventDefault();
 
    var resAjax = $("#resultados_ajax"); // Elemento resultados_ajax
    var textEditorVal = $("textarea").sceditor("instance").val(); // Valor do editor
    var min = 10; // Mínimo de caracteres para o post
    var max = 15000; // Máximo de caracteres para o post (Não ultrapasse o valor limite estipulado pela forumeiros)
 
    if (textEditorVal.length < min) {
      resAjax.html("Digite pelo menos " + min + " caracteres para enviar o post").attr("class","alert-error");
      return false;
    }
    if (textEditorVal.length > max) {
      resAjax.html("Seu post ultrapassou o limite de " + max + " caracteres").attr("class","alert-error");
      return false;
    }
 
    $("input[type='submit']").attr("disabled", true);
    var parametros = $("#quick_reply").serialize();
    $.ajax({
      type: "POST",
      url: hrefResposta,
      data: parametros + "&message=" + textEditorVal + "&post=1",
      beforeSend: function (objeto) {
        resAjax.html("Carregando...").attr("class", false);
      },
      success: function (dados) {
        $("input[type='submit']").attr("disabled", false);
        if ($('div.h3:contains("Revisão do tópico")', dados).length) {
          resAjax.html("Uma nova mensagem foi adicionada no momento em que você escrevia a sua mensagem. Aperte em Pré-visualizar para ver as alterações.").attr("class", "alert-error");
          return;
        }
        var href = $("a[href^='/viewtopic']", dados).attr("href");
        $.get(href, function (e) {
          $(".post[id^='p']:last", e).hide().insertAfter(".post[id^='p']:last").slideDown("fast", function () {
            $("html, body").animate({
              scrollTop: $(".post[id^='p']:last").offset().top
            }, 500);
          });
          resAjax.html("Postado com sucesso!").attr("class", "alert-success");
          $("textarea").sceditor("instance").val("");
        });
      }
    });
    return false;
  });
});
É funcional no phpBB3, testei no ModernBB e não resultou... o nome das classes deve ser diferente e não tive tempo para ler o código novamente.

Se esse não funcionar, pode abandonar ahuahau.


Abraço o/



Obs: Sugiro aos Ajudeiros/Moderadeiros a atualizar o tutorial com este novo código, tem novas funções e é mais funcional.

Então eduardo obrigado por esta disponibilizando pois infelizmente o seu codigo não ta nem postando kkkkk

virus escreveu:Pelo que entendi você pode utilizar este código-> https://ajuda.forumeiros.com/t107420-tutorial-postar-em-ajax-com-avisos

Ou o do membro acima, desde que não esteja com as regras na resposta rápida. E o visual da FdF eu não posso copiar. Já se e o efeito de subir o scroll eu posso tentar fazer para você e é isso que está falando?

Até.

Então virus eu não quero deixa exatamente igual da FDF apenas as mensagens entendeu ?
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 18.03.18 6:54

Olá!
Estudar No caso, você está falando do efeito que altera a mensagem seja a cor ou palavras de enviando para enviado. Certo?

Até. E desculpe por muitas perguntas. Rindo
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 18.03.18 16:16

virus escreveu:Olá!
Estudar No caso, você está falando do efeito que altera a mensagem seja a cor ou palavras de enviando para enviado. Certo?

Até. E desculpe por muitas perguntas. Rindo

Isso do efeito que aparece vc postando e depois postado como aqui na FDF entendeu ?
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 20.03.18 15:09

UP para movimentação de tópico e esperando alguma solução para minha duvida
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por Chanp 20.03.18 15:31

Olá, ranzatti.
Vou tentar te auxiliar neste longo processo.

Peço que me responda apenas mais uma pergunta, pois ainda estou desinformado da questão.
No caso você deseja que o efeito AJAX ou realizar um post no tópico seja igual este do FdF?
(Imagem demonstrativa).

Até breve!
o/
Chanp

Chanp
Super Membro

Membro desde : 04/01/2018
Mensagens : 1072
Pontos : 1191

https://2forum2.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 20.03.18 16:01

Olá, troque o código por este:
Painel de Controle Seta Módulos Seta HTML & JAVASCRIPT Seta Gestão dos códigos JavaScript
Código:
jQuery(document)
  .on('ready', function ()
  {
    // POSTAR RÁPIDO
    var hrefReply = jQuery(
        'a[href^="/post?t="]')
      .attr('href');
    jQuery(
        '#quick_reply input[name="post"]'
      )
      .click(function (d)
      {
        d.preventDefault();
        var valor = jQuery(
            '#text_editor_textarea'
          )
          .sceditor('instance')
          .val()
          .replace(/\s/g, '')
          .length;
        if (valor == 0)
        {
          alert(
            "Seu post está vazio"
          );
        }
        else if (20 > valor)
        {
          alert(
            "Você precisa digitar pelo menos mais " +
            (20 - valor) +
            " caracteres, por favor, não faça flood"
          );
        }
        else if (15000 < valor)
        {
          alert(
            "Seu post passou de 15000 caracteres, diminua-o"
          );
        }
        else if (20 <= valor &&
          valor <= 15000)
        {

          jQuery('#quick_reply')
            .append(this)
            .before(
              '<span id="qr_posting_msg" style="background-color: #d5f39b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
              '      <span class="posting-v" style="display:inline-block">Enviando a mensagem...</span>' +
              '      <span class="posting-vs">Postada com sucesso!</span>' +
              '</span>'
            );
          jQuery('.posting-vs')
            .hide();
          jQuery.post(hrefReply,
          {
            'message': jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val(),
            'post': '1',
            'attach_sig': '1'
          }, function (d)
          {
            var href = jQuery(
                'a[href^="/viewtopic"]',
                d)
              .attr('href');
            jQuery.get(href,
              function (e)
              {
                jQuery(
                    '.post:last',
                    e)
                  .hide()
                  .insertAfter(
                    '.post:last'
                  )
                  .slideDown(
                    'fast',
                    function ()
                    {
                      jQuery(
                          'html, body'
                        )
                        .animate(
                          {
                            scrollTop: jQuery(
                                '.post:last'
                              )
                              .offset()
                              .top
                          },
                          500
                        );
                    });
              });
            jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val('');

            jQuery('.posting-v')
              .remove();
            jQuery(
                '.posting-vs')
              .show(400,
                function ()
                {
                  $(
                      '#qr_posting_msg'
                    )
                    .remove();
                });
          });
        }
      });
  });
Até.


Última edição por virus em 20.03.18 16:15, editado 2 vez(es) (Motivo da edição : Edit code ¬¬)
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 20.03.18 20:51

Chanp escreveu:Olá, ranzatti.
Vou tentar te auxiliar neste longo processo.

Peço que me responda apenas mais uma pergunta, pois ainda estou desinformado da questão.
No caso você deseja que o efeito AJAX ou realizar um post no tópico seja igual este do FdF?
(Imagem demonstrativa).

Até breve!
o/

Exatamente isso Chanp a cor até pode mudar mais eu queria os efeito igual aqui pois varios outros foruns utiliza isso
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Admineiro

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por tikky 20.03.18 20:54

Qual o JS que você está a usar? Para poder editar
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7962
Pontos : 9217

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 20.03.18 21:02

Pedxz escreveu:Qual o JS que você está a usar? Para poder editar

oque o virus postou logo acima
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 20.03.18 21:18

@ranzatti você testou o js que enviei? houve alterações.
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 20.03.18 21:57

virus escreveu:@ranzatti você testou o js que enviei? houve alterações.

então os efeitos estão totalmente diferente!
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 20.03.18 21:58

ranzatti escreveu:
virus escreveu:@ranzatti você testou o js que enviei? houve alterações.

então os efeitos estão totalmente diferente!

Olá, e esse?
Código:
jQuery(document)
  .on('ready', function ()
  {
    // POSTAR RÁPIDO
    var hrefReply = jQuery(
        'a[href^="/post?t="]')
      .attr('href');
    jQuery(
        '#quick_reply input[name="post"]'
      )
      .click(function (d)
      {
        d.preventDefault();
        var valor = jQuery(
            '#text_editor_textarea'
          )
          .sceditor('instance')
          .val()
          .replace(/\s/g, '')
          .length;
        if (valor == 0)
        {
          alert(
            "Seu post está vazio"
          );
        }
        else if (20 > valor)
        {
          alert(
            "Você precisa digitar pelo menos mais " +
            (20 - valor) +
            " caracteres, por favor, não faça flood"
          );
        }
        else if (15000 < valor)
        {
          alert(
            "Seu post passou de 15000 caracteres, diminua-o"
          );
        }
        else if (20 <= valor &&
          valor <= 15000)
        {
 
          jQuery('#quick_reply')
            .append(this)
            .before(
              '<div id="qr_posting_msg" style="width:100%;display:block;background-color: #d5f39b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
              '      <span class="posting-vs">Postada com sucesso!</div>' +
              '</span>'
            );
            $('#quick_reply')
            .append(this)
            .before(
                '<div id="posting-vs" style="background-color: #f3f09b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
                '<span class="posting-v" style="display:inline-block">Enviando a mensagem...</span>' +
                '</div>'
            );
          jQuery('#qr_posting_msg')
            .hide();
          jQuery.post(hrefReply,
          {
            'message': jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val(),
            'post': '1',
            'attach_sig': '1'
          }, function (d)
          {
            var href = jQuery(
                'a[href^="/viewtopic"]',
                d)
              .attr('href');
            jQuery.get(href,
              function (e)
              {
                jQuery(
                    '.post:last',
                    e)
                  .hide()
                  .insertAfter(
                    '.post:last'
                  )
                  .slideDown(
                    'fast',
                    function ()
                    {
                      jQuery(
                          'html, body'
                        )
                        .animate(
                          {
                            scrollTop: jQuery(
                                '.post:last'
                              )
                              .offset()
                              .top
                          },
                          500
                        );
                    });
              });
            jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val('');
 
            jQuery('#posting-vs')
              .remove();
            jQuery(
                '#qr_posting_msg')
              .show(4,
                function ()
                {
                  $(
                      '#qr_posting_msg'
                    )
                    .fadeOut(
                        '2000', function() {
                            $(this).remove();
                        }
                    );
                });
          });
        }
      });
  });

Até..
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 20.03.18 22:03

Positivo @virus
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 21.03.18 1:02

Boa noite. Veja se é este o resultado que procura.

Postar em ajax com avisos E58622bbb832c1c7b49d340563ad1d19


Painel de Controle Seta Módulos Seta HTML & JAVASCRIPT Seta Gestão dos códigos JavaScript
Titulo*: Qualquer
Investimento: (Nos tópicos)
Código JavaScript * :
Código:
jQuery(document)
  .on('ready', function ()
  {
    $('head').append('<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" integrity="sha384-3AB7yXWz4OeoZcPbieVW64vVXEwADiYyAEhwilzWsLw+9FgqpyjjStpPnpBO8o8S" crossorigin="anonymous">');
    // POSTAR RÁPIDO
    var hrefReply = jQuery(
        'a[href^="/post?t="]')
      .attr('href');
    jQuery(
        '#quick_reply input[name="post"]'
      )
      .click(function (d)
      {
        d.preventDefault();
        var valor = jQuery(
            '#text_editor_textarea'
          )
          .sceditor('instance')
          .val()
          .replace(/\s/g, '')
          .length;
        if (valor == 0)
        {
          alert(
            "Seu post está vazio"
          );
        }
        else if (20 > valor)
        {
          alert(
            "Você precisa digitar pelo menos mais " +
            (20 - valor) +
            " caracteres, por favor, não faça flood"
          );
        }
        else if (15000 < valor)
        {
          alert(
            "Seu post passou de 15000 caracteres, diminua-o"
          );
        }
        else if (20 <= valor &&
          valor <= 15000)
        {
 
          jQuery('#quick_reply')
            .append(this)
            .before(
              '<div id="qr_posting_msg" style="margin: auto auto;    width: 60%;display:block;background-color: #d5f39b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
              '      <span class="posting-vs" style="text-indent: 3px;"><i class="far fa-check-circle"></i> Postada com sucesso!</div>' +
              '</span>'
            );
            $('#quick_reply')
            .append(this)
            .before(
              '<div id="posting-vs" style="margin: auto auto;background-color: #f3f09b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;width: 60%;">' +
              '<span class="posting-v" style="text-indent: 3px;display:inline-block"><i class="fas  fa-spin fa-spinner"></i> Enviando a mensagem...</span>' +
                '</div>'
            );
          jQuery('#qr_posting_msg')
            .hide();
          jQuery.post(hrefReply,
          {
            'message': jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val(),
            'post': '1',
            'attach_sig': '1'
          }, function (d)
          {
            var href = jQuery(
                'a[href^="/viewtopic"]',
                d)
              .attr('href');
            jQuery.get(href,
              function (e)
              {
                jQuery(
                    '.post:last',
                    e)
                  .hide()
                  .insertAfter(
                    '.post:last'
                  )
                  .slideDown(
                    'fast',
                    function ()
                    {
                      jQuery(
                          'html, body'
                        )
                        .animate(
                          {
                            scrollTop: jQuery(
                                '.post:last'
                              )
                              .offset()
                              .top
                          },
                          500
                        );
                    });
              });
            jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val('');
 
            jQuery('#posting-vs')
              .remove();
            jQuery(
                '#qr_posting_msg')
              .show(50,
                function ()
                {
                  $(
                      '#qr_posting_msg'
                    )
                    .fadeOut(
                        'slow', function() {
                            $(this).remove();
                        }
                    );
                });
          });
        }
      });
  });

Até mais!!
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por Chanp 21.03.18 1:32

Olá,
Não sei se fica no seu agrado mas no meu fórum eu utilizo um código AJAX que tem esta mesma finalidade. Inclusive, eu tenho para todas as opções de postagem. Mas enfim...

Te disponibilizo aqui o código. Fica no seu agrado?

Código:
$(document).on("ready", function () {
 
  $("body").append(
    '<style>' +
    '.alert-success, .alert-error {' +
    '    -moz-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    -webkit-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    background: url(http://imgur.com/J3aqwYE.png) repeat-x 0 0;' +
    '    box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    display: block;' +
    '    font-size: 12px;' +
    '    line-height: 1.6;' +
    '    padding: 10px;' +
    '    text-shadow: 0 1px 0 rgba(255,255,255,0.5);' +
    '}' +
    '.alert-success {' +
    '    background-color: #cde3a4;' +
    '    border: 1px solid #a8c471;' +
    '    color: #436500;' +
    '}' +
    '.alert-error {' +
    '    background-color: #ffbdbd;' +
    '    border: 1px solid #d8aba7;' +
    '    color: #92463f;' +
    '}' +
    '</style>'
  );
 
  var hrefResposta = $("a[href^='/post?t=']").attr("href");
  var form = $("#quick_reply");
 
  $("<div id='resultados_ajax'></div>").prependTo(form);
 
  $('#quick_reply input[name="post"]').on('click', function (event) {
    event.preventDefault();
 
    var resAjax = $("#resultados_ajax"); // Elemento resultados_ajax
    var textEditorVal = $("textarea").sceditor("instance").val(); // Valor do editor
    var min = 10; // Mínimo de caracteres para o post
    var max = 15000; // Máximo de caracteres para o post (Não ultrapasse o valor limite estipulado pela forumeiros)
 
    if (textEditorVal.length < min) {
      resAjax.html("Digite pelo menos " + min + " caracteres para enviar o post").attr("class", "alert-error");
      return false;
    }
    if (textEditorVal.length > max) {
      resAjax.html("Seu post ultrapassou o limite de " + max + " caracteres").attr("class", "alert-error");
      return false;
    }
 
    $("input[type='submit']").attr("disabled", true);
    var parametros = $("#quick_reply").serialize();
    $.ajax({
      type: "POST",
      url: hrefResposta,
      data: parametros + "&message=" + textEditorVal + "&post=1",
      beforeSend: function (objeto) {
        resAjax.html("Carregando...").attr("class", false);
      },
      success: function (dados) {
        $("input[type='submit']").attr("disabled", false);
        if ($('div.h3:contains("Revisão do tópico")', dados).length) {
          resAjax.html("Uma nova mensagem foi adicionada no momento em que você escrevia a sua mensagem. Atualize a página para ver as alterações.").attr("class", "alert-error");
          return;
        }
        var href = $("a[href^='/viewtopic']", dados).attr("href");
        $.get(href, function (e) {
          $(".post[id^='p']:last", e).hide().insertAfter(".post[id^='p']:last").slideDown("fast", function () {
            $("html, body").animate({
              scrollTop: $(".post[id^='p']:last").offset().top
            }, 500);
          });
          resAjax.html("Postado com sucesso!").attr("class", "alert-success");
          $("textarea").sceditor("instance").val("");
        });
      }
    });
    return false;
  });
});
Chanp

Chanp
Super Membro

Membro desde : 04/01/2018
Mensagens : 1072
Pontos : 1191

https://2forum2.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 21.03.18 2:05

virus escreveu:Boa noite. Veja se é este o resultado que procura.

Postar em ajax com avisos E58622bbb832c1c7b49d340563ad1d19


Painel de Controle Seta Módulos Seta HTML & JAVASCRIPT Seta Gestão dos códigos JavaScript
Titulo*: Qualquer
Investimento: (Nos tópicos)
Código JavaScript * :
Código:
jQuery(document)
  .on('ready', function ()
  {
    $('head').append('<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" integrity="sha384-3AB7yXWz4OeoZcPbieVW64vVXEwADiYyAEhwilzWsLw+9FgqpyjjStpPnpBO8o8S" crossorigin="anonymous">');
    // POSTAR RÁPIDO
    var hrefReply = jQuery(
        'a[href^="/post?t="]')
      .attr('href');
    jQuery(
        '#quick_reply input[name="post"]'
      )
      .click(function (d)
      {
        d.preventDefault();
        var valor = jQuery(
            '#text_editor_textarea'
          )
          .sceditor('instance')
          .val()
          .replace(/\s/g, '')
          .length;
        if (valor == 0)
        {
          alert(
            "Seu post está vazio"
          );
        }
        else if (20 > valor)
        {
          alert(
            "Você precisa digitar pelo menos mais " +
            (20 - valor) +
            " caracteres, por favor, não faça flood"
          );
        }
        else if (15000 < valor)
        {
          alert(
            "Seu post passou de 15000 caracteres, diminua-o"
          );
        }
        else if (20 <= valor &&
          valor <= 15000)
        {
 
          jQuery('#quick_reply')
            .append(this)
            .before(
              '<div id="qr_posting_msg" style="margin: auto auto;    width: 60%;display:block;background-color: #d5f39b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
              '      <span class="posting-vs" style="text-indent: 3px;"><i class="far fa-check-circle"></i> Postada com sucesso!</div>' +
              '</span>'
            );
            $('#quick_reply')
            .append(this)
            .before(
              '<div id="posting-vs" style="margin: auto auto;background-color: #f3f09b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;width: 60%;">' +
              '<span class="posting-v" style="text-indent: 3px;display:inline-block"><i class="fas  fa-spin fa-spinner"></i> Enviando a mensagem...</span>' +
                '</div>'
            );
          jQuery('#qr_posting_msg')
            .hide();
          jQuery.post(hrefReply,
          {
            'message': jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val(),
            'post': '1',
            'attach_sig': '1'
          }, function (d)
          {
            var href = jQuery(
                'a[href^="/viewtopic"]',
                d)
              .attr('href');
            jQuery.get(href,
              function (e)
              {
                jQuery(
                    '.post:last',
                    e)
                  .hide()
                  .insertAfter(
                    '.post:last'
                  )
                  .slideDown(
                    'fast',
                    function ()
                    {
                      jQuery(
                          'html, body'
                        )
                        .animate(
                          {
                            scrollTop: jQuery(
                                '.post:last'
                              )
                              .offset()
                              .top
                          },
                          500
                        );
                    });
              });
            jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val('');
 
            jQuery('#posting-vs')
              .remove();
            jQuery(
                '#qr_posting_msg')
              .show(50,
                function ()
                {
                  $(
                      '#qr_posting_msg'
                    )
                    .fadeOut(
                        'slow', function() {
                            $(this).remove();
                        }
                    );
                });
          });
        }
      });
  });

Até mais!!

Então é possível aumentar o tempo de visualização das mensagens postando e postado ? e outra coisa esse código tem algum tipo de conflito com o meu codigo de regras e possivel arrumar ou tenho que desativar os codigo de regras?

desde já obrigado!

Chanp escreveu:Olá,
Não sei se fica no seu agrado mas no meu fórum eu utilizo um código AJAX que tem esta mesma finalidade. Inclusive, eu tenho para todas as opções de postagem. Mas enfim...

Te disponibilizo aqui o código. Fica no seu agrado?

Código:
$(document).on("ready", function () {
 
  $("body").append(
    '<style>' +
    '.alert-success, .alert-error {' +
    '    -moz-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    -webkit-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    background: url(http://imgur.com/J3aqwYE.png) repeat-x 0 0;' +
    '    box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    display: block;' +
    '    font-size: 12px;' +
    '    line-height: 1.6;' +
    '    padding: 10px;' +
    '    text-shadow: 0 1px 0 rgba(255,255,255,0.5);' +
    '}' +
    '.alert-success {' +
    '    background-color: #cde3a4;' +
    '    border: 1px solid #a8c471;' +
    '    color: #436500;' +
    '}' +
    '.alert-error {' +
    '    background-color: #ffbdbd;' +
    '    border: 1px solid #d8aba7;' +
    '    color: #92463f;' +
    '}' +
    '</style>'
  );
 
  var hrefResposta = $("a[href^='/post?t=']").attr("href");
  var form = $("#quick_reply");
 
  $("<div id='resultados_ajax'></div>").prependTo(form);
 
  $('#quick_reply input[name="post"]').on('click', function (event) {
    event.preventDefault();
 
    var resAjax = $("#resultados_ajax"); // Elemento resultados_ajax
    var textEditorVal = $("textarea").sceditor("instance").val(); // Valor do editor
    var min = 10; // Mínimo de caracteres para o post
    var max = 15000; // Máximo de caracteres para o post (Não ultrapasse o valor limite estipulado pela forumeiros)
 
    if (textEditorVal.length < min) {
      resAjax.html("Digite pelo menos " + min + " caracteres para enviar o post").attr("class", "alert-error");
      return false;
    }
    if (textEditorVal.length > max) {
      resAjax.html("Seu post ultrapassou o limite de " + max + " caracteres").attr("class", "alert-error");
      return false;
    }
 
    $("input[type='submit']").attr("disabled", true);
    var parametros = $("#quick_reply").serialize();
    $.ajax({
      type: "POST",
      url: hrefResposta,
      data: parametros + "&message=" + textEditorVal + "&post=1",
      beforeSend: function (objeto) {
        resAjax.html("Carregando...").attr("class", false);
      },
      success: function (dados) {
        $("input[type='submit']").attr("disabled", false);
        if ($('div.h3:contains("Revisão do tópico")', dados).length) {
          resAjax.html("Uma nova mensagem foi adicionada no momento em que você escrevia a sua mensagem. Atualize a página para ver as alterações.").attr("class", "alert-error");
          return;
        }
        var href = $("a[href^='/viewtopic']", dados).attr("href");
        $.get(href, function (e) {
          $(".post[id^='p']:last", e).hide().insertAfter(".post[id^='p']:last").slideDown("fast", function () {
            $("html, body").animate({
              scrollTop: $(".post[id^='p']:last").offset().top
            }, 500);
          });
          resAjax.html("Postado com sucesso!").attr("class", "alert-success");
          $("textarea").sceditor("instance").val("");
        });
      }
    });
    return false;
  });
});

Então o seu código nem funcionou pois quando eu digito e aperto o botão de enviar não acontece nada
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por Chanp 21.03.18 2:11

Ranzatti,
Peço que coloque o investimento nos tópicos e que confira se em

Painel de Controle Seta Geral Seta Segurança

A opção "Desautorizar formulários não oficiais de postarem no fórum e enviar mensagens privadas :" está marcada como não. Após isso, teste novamente o código.
Chanp

Chanp
Super Membro

Membro desde : 04/01/2018
Mensagens : 1072
Pontos : 1191

https://2forum2.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 21.03.18 3:06

Chanp escreveu:Ranzatti,
Peço que coloque o investimento nos tópicos e que confira se em

Painel de Controle Seta Geral Seta Segurança

A opção "Desautorizar formulários não oficiais de postarem no fórum e enviar mensagens privadas :" está marcada como não. Após isso, teste novamente o código.

tá como não e pra marcar sim?
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por MateusAnjosV 21.03.18 11:10

ranzatti escreveu:
virus escreveu:Boa noite. Veja se é este o resultado que procura.

Postar em ajax com avisos E58622bbb832c1c7b49d340563ad1d19


Painel de Controle Seta Módulos Seta HTML & JAVASCRIPT Seta Gestão dos códigos JavaScript
Titulo*: Qualquer
Investimento: (Nos tópicos)
Código JavaScript * :
Código:
jQuery(document)
  .on('ready', function ()
  {
    $('head').append('<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" integrity="sha384-3AB7yXWz4OeoZcPbieVW64vVXEwADiYyAEhwilzWsLw+9FgqpyjjStpPnpBO8o8S" crossorigin="anonymous">');
    // POSTAR RÁPIDO
    var hrefReply = jQuery(
        'a[href^="/post?t="]')
      .attr('href');
    jQuery(
        '#quick_reply input[name="post"]'
      )
      .click(function (d)
      {
        d.preventDefault();
        var valor = jQuery(
            '#text_editor_textarea'
          )
          .sceditor('instance')
          .val()
          .replace(/\s/g, '')
          .length;
        if (valor == 0)
        {
          alert(
            "Seu post está vazio"
          );
        }
        else if (20 > valor)
        {
          alert(
            "Você precisa digitar pelo menos mais " +
            (20 - valor) +
            " caracteres, por favor, não faça flood"
          );
        }
        else if (15000 < valor)
        {
          alert(
            "Seu post passou de 15000 caracteres, diminua-o"
          );
        }
        else if (20 <= valor &&
          valor <= 15000)
        {
 
          jQuery('#quick_reply')
            .append(this)
            .before(
              '<div id="qr_posting_msg" style="margin: auto auto;    width: 60%;display:block;background-color: #d5f39b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
              '      <span class="posting-vs" style="text-indent: 3px;"><i class="far fa-check-circle"></i> Postada com sucesso!</div>' +
              '</span>'
            );
            $('#quick_reply')
            .append(this)
            .before(
              '<div id="posting-vs" style="margin: auto auto;background-color: #f3f09b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;width: 60%;">' +
              '<span class="posting-v" style="text-indent: 3px;display:inline-block"><i class="fas  fa-spin fa-spinner"></i> Enviando a mensagem...</span>' +
                '</div>'
            );
          jQuery('#qr_posting_msg')
            .hide();
          jQuery.post(hrefReply,
          {
            'message': jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val(),
            'post': '1',
            'attach_sig': '1'
          }, function (d)
          {
            var href = jQuery(
                'a[href^="/viewtopic"]',
                d)
              .attr('href');
            jQuery.get(href,
              function (e)
              {
                jQuery(
                    '.post:last',
                    e)
                  .hide()
                  .insertAfter(
                    '.post:last'
                  )
                  .slideDown(
                    'fast',
                    function ()
                    {
                      jQuery(
                          'html, body'
                        )
                        .animate(
                          {
                            scrollTop: jQuery(
                                '.post:last'
                              )
                              .offset()
                              .top
                          },
                          500
                        );
                    });
              });
            jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val('');
 
            jQuery('#posting-vs')
              .remove();
            jQuery(
                '#qr_posting_msg')
              .show(50,
                function ()
                {
                  $(
                      '#qr_posting_msg'
                    )
                    .fadeOut(
                        'slow', function() {
                            $(this).remove();
                        }
                    );
                });
          });
        }
      });
  });

Até mais!!

Então é possível aumentar o tempo de visualização das mensagens postando e postado ? e outra coisa esse código tem algum tipo de conflito com o meu codigo de regras e possivel arrumar ou tenho que desativar os codigo de regras?

desde já obrigado!

Chanp escreveu:Olá,
Não sei se fica no seu agrado mas no meu fórum eu utilizo um código AJAX que tem esta mesma finalidade. Inclusive, eu tenho para todas as opções de postagem. Mas enfim...

Te disponibilizo aqui o código. Fica no seu agrado?

Código:
$(document).on("ready", function () {
 
  $("body").append(
    '<style>' +
    '.alert-success, .alert-error {' +
    '    -moz-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    -webkit-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    background: url(http://imgur.com/J3aqwYE.png) repeat-x 0 0;' +
    '    box-shadow: rgba(0,0,0,0.1) 0 1px 3px;' +
    '    display: block;' +
    '    font-size: 12px;' +
    '    line-height: 1.6;' +
    '    padding: 10px;' +
    '    text-shadow: 0 1px 0 rgba(255,255,255,0.5);' +
    '}' +
    '.alert-success {' +
    '    background-color: #cde3a4;' +
    '    border: 1px solid #a8c471;' +
    '    color: #436500;' +
    '}' +
    '.alert-error {' +
    '    background-color: #ffbdbd;' +
    '    border: 1px solid #d8aba7;' +
    '    color: #92463f;' +
    '}' +
    '</style>'
  );
 
  var hrefResposta = $("a[href^='/post?t=']").attr("href");
  var form = $("#quick_reply");
 
  $("<div id='resultados_ajax'></div>").prependTo(form);
 
  $('#quick_reply input[name="post"]').on('click', function (event) {
    event.preventDefault();
 
    var resAjax = $("#resultados_ajax"); // Elemento resultados_ajax
    var textEditorVal = $("textarea").sceditor("instance").val(); // Valor do editor
    var min = 10; // Mínimo de caracteres para o post
    var max = 15000; // Máximo de caracteres para o post (Não ultrapasse o valor limite estipulado pela forumeiros)
 
    if (textEditorVal.length < min) {
      resAjax.html("Digite pelo menos " + min + " caracteres para enviar o post").attr("class", "alert-error");
      return false;
    }
    if (textEditorVal.length > max) {
      resAjax.html("Seu post ultrapassou o limite de " + max + " caracteres").attr("class", "alert-error");
      return false;
    }
 
    $("input[type='submit']").attr("disabled", true);
    var parametros = $("#quick_reply").serialize();
    $.ajax({
      type: "POST",
      url: hrefResposta,
      data: parametros + "&message=" + textEditorVal + "&post=1",
      beforeSend: function (objeto) {
        resAjax.html("Carregando...").attr("class", false);
      },
      success: function (dados) {
        $("input[type='submit']").attr("disabled", false);
        if ($('div.h3:contains("Revisão do tópico")', dados).length) {
          resAjax.html("Uma nova mensagem foi adicionada no momento em que você escrevia a sua mensagem. Atualize a página para ver as alterações.").attr("class", "alert-error");
          return;
        }
        var href = $("a[href^='/viewtopic']", dados).attr("href");
        $.get(href, function (e) {
          $(".post[id^='p']:last", e).hide().insertAfter(".post[id^='p']:last").slideDown("fast", function () {
            $("html, body").animate({
              scrollTop: $(".post[id^='p']:last").offset().top
            }, 500);
          });
          resAjax.html("Postado com sucesso!").attr("class", "alert-success");
          $("textarea").sceditor("instance").val("");
        });
      }
    });
    return false;
  });
});

Então o seu código nem funcionou pois quando eu digito e aperto o botão de enviar não acontece nada

Olá, senhores Mostrando a lingua

Então.... bem grande esse tópico. Podemos trabalhar mediante a citação acima? Eu posso conciliar o seu código de regras com o código fornecido pelo Virus. Tanto que me forneça-o. - Se já forneceu, cita novamente, porque eu li tudo e não encontrei, talvez tenha passado despercebido Envergonhado -

MateusAnjosV

MateusAnjosV
Super Membro

Membro desde : 16/10/2015
Mensagens : 1718
Pontos : 2373

http://holder.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por Chanp 21.03.18 15:21

Olá, ranzatti.
Eu fiz todos os testes e este código está 100% funcional no meu fórum. Investimento: Nos tópicos.

Código:
$(document).on("ready",function(){$("body").append('<style>'+'.alert-success, .alert-error {'+'    -moz-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;'+'    -webkit-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;'+'    background: url(http://imgur.com/J3aqwYE.png) repeat-x 0 0;'+'    box-shadow: rgba(0,0,0,0.1) 0 1px 3px;'+'    display: block;'+'    font-size: 12px;'+'    line-height: 1.6;'+'    padding: 10px;'+'    text-shadow: 0 1px 0 rgba(255,255,255,0.5);'+'}'+'.alert-success {'+'    background-color: #cde3a4;'+'    border: 1px solid #a8c471;'+'    color: #436500;'+'}'+'.alert-error {'+'    background-color: #ffbdbd;'+'    border: 1px solid #d8aba7;'+'    color: #92463f;'+'}'+'</style>');var hrefResposta=$("a[href^='/post?t=']").attr("href");var form=$("#quick_reply");$("<div id='resultados_ajax'></div>").prependTo(form);$('#quick_reply input[name="post"]').on('click',function(event){event.preventDefault();var resAjax=$("#resultados_ajax");var textEditorVal=$("textarea").sceditor("instance").val();var min=10;var max=15000;if(textEditorVal.length<min){resAjax.html("Digite pelo menos "+min+" caracteres para enviar o post").attr("class","alert-error");return false}if(textEditorVal.length>max){resAjax.html("Seu post ultrapassou o limite de "+max+" caracteres").attr("class","alert-error");return false}$("input[type='submit']").attr("disabled",true);var parametros=$("#quick_reply").serialize();$.ajax({type:"POST",url:hrefResposta,data:parametros+"&message="+textEditorVal+"&post=1",beforeSend:function(objeto){resAjax.html("Carregando...").attr("class",false)},success:function(dados){$("input[type='submit']").attr("disabled",false);if($('div.h3:contains("Revisão do tópico")',dados).length){resAjax.html("Uma nova mensagem foi adicionada no momento em que você escrevia a sua mensagem. Atualize a página para ver as alterações.").attr("class","alert-error");return}var href=$("a[href^='/viewtopic']",dados).attr("href");$.get(href,function(e){$(".post[id^='p']:last",e).hide().insertAfter(".post[id^='p']:last").slideDown("fast",function(){$("html, body").animate({scrollTop:$(".post[id^='p']:last").offset().top},500)});resAjax.html("Postado com sucesso!").attr("class","alert-success");$("textarea").sceditor("instance").val("")})}});return false})});

Serve?
o/
Chanp

Chanp
Super Membro

Membro desde : 04/01/2018
Mensagens : 1072
Pontos : 1191

https://2forum2.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 21.03.18 17:26

Chanp escreveu:Olá, ranzatti.
Eu fiz todos os testes e este código está 100% funcional no meu fórum. Investimento: Nos tópicos.

Código:
$(document).on("ready",function(){$("body").append('<style>'+'.alert-success, .alert-error {'+'    -moz-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;'+'    -webkit-box-shadow: rgba(0,0,0,0.1) 0 1px 3px;'+'    background: url(http://imgur.com/J3aqwYE.png) repeat-x 0 0;'+'    box-shadow: rgba(0,0,0,0.1) 0 1px 3px;'+'    display: block;'+'    font-size: 12px;'+'    line-height: 1.6;'+'    padding: 10px;'+'    text-shadow: 0 1px 0 rgba(255,255,255,0.5);'+'}'+'.alert-success {'+'    background-color: #cde3a4;'+'    border: 1px solid #a8c471;'+'    color: #436500;'+'}'+'.alert-error {'+'    background-color: #ffbdbd;'+'    border: 1px solid #d8aba7;'+'    color: #92463f;'+'}'+'</style>');var hrefResposta=$("a[href^='/post?t=']").attr("href");var form=$("#quick_reply");$("<div id='resultados_ajax'></div>").prependTo(form);$('#quick_reply input[name="post"]').on('click',function(event){event.preventDefault();var resAjax=$("#resultados_ajax");var textEditorVal=$("textarea").sceditor("instance").val();var min=10;var max=15000;if(textEditorVal.length<min){resAjax.html("Digite pelo menos "+min+" caracteres para enviar o post").attr("class","alert-error");return false}if(textEditorVal.length>max){resAjax.html("Seu post ultrapassou o limite de "+max+" caracteres").attr("class","alert-error");return false}$("input[type='submit']").attr("disabled",true);var parametros=$("#quick_reply").serialize();$.ajax({type:"POST",url:hrefResposta,data:parametros+"&message="+textEditorVal+"&post=1",beforeSend:function(objeto){resAjax.html("Carregando...").attr("class",false)},success:function(dados){$("input[type='submit']").attr("disabled",false);if($('div.h3:contains("Revisão do tópico")',dados).length){resAjax.html("Uma nova mensagem foi adicionada no momento em que você escrevia a sua mensagem. Atualize a página para ver as alterações.").attr("class","alert-error");return}var href=$("a[href^='/viewtopic']",dados).attr("href");$.get(href,function(e){$(".post[id^='p']:last",e).hide().insertAfter(".post[id^='p']:last").slideDown("fast",function(){$("html, body").animate({scrollTop:$(".post[id^='p']:last").offset().top},500)});resAjax.html("Postado com sucesso!").attr("class","alert-success");$("textarea").sceditor("instance").val("")})}});return false})});

Serve?
o/

Nem funcionou aperto enviar e não posta nada

MateusAnjosV escreveu:Olá, senhores
Então.... bem grande esse tópico. Podemos trabalhar mediante a citação acima? Eu posso conciliar o seu código de regras com o código fornecido pelo Virus. Tanto que me forneça-o. - Se já forneceu, cita novamente, porque eu li tudo e não encontrei, talvez tenha passado despercebido -

blz segue o código abaixo

Código:
[center][img]http://icons.iconarchive.com/icons/oxygen-icons.org/oxygen/48/Status-dialog-warning-icon.png[/img][/center] [table style="border: 1px solid #4080FF; padding: 10px 10px 10px 10px; width: 90%; margin-left: 5%; margin-right: 5%; border-radius: 10px 10px 10px 10px; -moz-border-radius: 10px 10px 10px 10px; -webkit-border-radius: 10px 10px 10px 10px; border-radius: 10px 10px 5px #A0A0A0; -moz-border-radius: 10px 10px 5px #A0A0A0; -webkit-border-radius: 10px 10px 5px #A0A0A0;"][tr][td]1. Leia as regras deste fórum para evitar tomar punições.
2. Tome cuidado com warn, se você é novato, atente para as regras, não saia postando sem envolvimento.
3. Não desrespeite o próximo.[/td][/tr][/table]
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por MateusAnjosV 21.03.18 17:40

Se quiser ver como ficou, cria uma conta e posta algo:
Código:
http://mateusanjosv.forumeiros.com/t24-teste-eeeeeeeeeeeeeeeste#85



Utilize:
Código:
jQuery(document)
  .on('ready', function ()
   
  {
    // MSG alert
    $('.sceditor-toolbar').before('<center><img src="http://icons.iconarchive.com/icons/oxygen-icons.org/oxygen/48/Status-dialog-warning-icon.png"></img></center> <table style="border: 1px solid #4080FF; padding: 10px 10px 10px 10px; width: 90%; margin-left: 5%; margin-right: 5%; border-radius: 10px 10px 10px 10px; -moz-border-radius: 10px 10px 10px 10px; -webkit-border-radius: 10px 10px 10px 10px; border-radius: 10px 10px 5px #A0A0A0; -moz-border-radius: 10px 10px 5px #A0A0A0; -webkit-border-radius: 10px 10px 5px #A0A0A0;"><tr><td>1. Leia as regras deste fórum para evitar tomar punições.2. Tome cuidado com warn, se você é novato, atente para as regras, não saia postando sem envolvimento.3. Não desrespeite o próximo.</td></tr></table>');
   
   
   
    $('head').append('<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" integrity="sha384-3AB7yXWz4OeoZcPbieVW64vVXEwADiYyAEhwilzWsLw+9FgqpyjjStpPnpBO8o8S" crossorigin="anonymous">');
    // POSTAR RÁPIDO
    var hrefReply = jQuery(
        'a[href^="/post?t="]')
      .attr('href');
    jQuery(
        '#quick_reply input[name="post"]'
      )
      .click(function (d)
      {
        d.preventDefault();
        var valor = jQuery(
            '#text_editor_textarea'
          )
          .sceditor('instance')
          .val()
          .replace(/\s/g, '')
          .length;
        if (valor == 0)
        {
          alert(
            "Seu post está vazio"
          );
        }
        else if (20 > valor)
        {
          alert(
            "Você precisa digitar pelo menos mais " +
            (20 - valor) +
            " caracteres, por favor, não faça flood"
          );
        }
        else if (15000 < valor)
        {
          alert(
            "Seu post passou de 15000 caracteres, diminua-o"
          );
        }
        else if (20 <= valor &&
          valor <= 15000)
        {
 
          jQuery('#quick_reply')
            .append(this)
            .before(
              '<div id="qr_posting_msg" style="margin: auto auto;    width: 60%;display:block;background-color: #d5f39b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
              '      <span class="posting-vs" style="text-indent: 3px;"><i class="far fa-check-circle"></i> Postada com sucesso!</div>' +
              '</span>'
            );
            $('#quick_reply')
            .append(this)
            .before(
              '<div id="posting-vs" style="margin: auto auto;background-color: #f3f09b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;width: 60%;">' +
              '<span class="posting-v" style="text-indent: 3px;display:inline-block"><i class="fas  fa-spin fa-spinner"></i> Enviando a mensagem...</span>' +
                '</div>'
            );
          jQuery('#qr_posting_msg')
            .hide();
          jQuery.post(hrefReply,
          {
            'message': jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val(),
            'post': '1',
            'attach_sig': '1'
          }, function (d)
          {
            var href = jQuery(
                'a[href^="/viewtopic"]',
                d)
              .attr('href');
            jQuery.get(href,
              function (e)
              {
                jQuery(
                    '.post:last',
                    e)
                  .hide()
                  .insertAfter(
                    '.post:last'
                  )
                  .slideDown(
                    'fast',
                    function ()
                    {
                      jQuery(
                          'html, body'
                        )
                        .animate(
                          {
                            scrollTop: jQuery(
                                '.post:last'
                              )
                              .offset()
                              .top
                          },
                          500
                        );
                    });
              });
            jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val('');
 
            jQuery('#posting-vs')
              .remove();
            jQuery(
                '#qr_posting_msg')
              .show(50,
                function ()
                {
                  $(
                      '#qr_posting_msg'
                    )
                    .fadeOut(
                        'slow', function() {
                            $(this).remove();
                        }
                    );
                });
          });
        }
      });
  });
MateusAnjosV

MateusAnjosV
Super Membro

Membro desde : 16/10/2015
Mensagens : 1718
Pontos : 2373

http://holder.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 22.03.18 2:29

MateusAnjosV escreveu:Se quiser ver como ficou, cria uma conta e posta algo:
Código:
http://mateusanjosv.forumeiros.com/t24-teste-eeeeeeeeeeeeeeeste#85



Utilize:
Código:
jQuery(document)
  .on('ready', function ()
   
  {
    // MSG alert
    $('.sceditor-toolbar').before('<center><img src="http://icons.iconarchive.com/icons/oxygen-icons.org/oxygen/48/Status-dialog-warning-icon.png"></img></center> <table style="border: 1px solid #4080FF; padding: 10px 10px 10px 10px; width: 90%; margin-left: 5%; margin-right: 5%; border-radius: 10px 10px 10px 10px; -moz-border-radius: 10px 10px 10px 10px; -webkit-border-radius: 10px 10px 10px 10px; border-radius: 10px 10px 5px #A0A0A0; -moz-border-radius: 10px 10px 5px #A0A0A0; -webkit-border-radius: 10px 10px 5px #A0A0A0;"><tr><td>1. Leia as regras deste fórum para evitar tomar punições.2. Tome cuidado com warn, se você é novato, atente para as regras, não saia postando sem envolvimento.3. Não desrespeite o próximo.</td></tr></table>');
   
   
   
    $('head').append('<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" integrity="sha384-3AB7yXWz4OeoZcPbieVW64vVXEwADiYyAEhwilzWsLw+9FgqpyjjStpPnpBO8o8S" crossorigin="anonymous">');
    // POSTAR RÁPIDO
    var hrefReply = jQuery(
        'a[href^="/post?t="]')
      .attr('href');
    jQuery(
        '#quick_reply input[name="post"]'
      )
      .click(function (d)
      {
        d.preventDefault();
        var valor = jQuery(
            '#text_editor_textarea'
          )
          .sceditor('instance')
          .val()
          .replace(/\s/g, '')
          .length;
        if (valor == 0)
        {
          alert(
            "Seu post está vazio"
          );
        }
        else if (20 > valor)
        {
          alert(
            "Você precisa digitar pelo menos mais " +
            (20 - valor) +
            " caracteres, por favor, não faça flood"
          );
        }
        else if (15000 < valor)
        {
          alert(
            "Seu post passou de 15000 caracteres, diminua-o"
          );
        }
        else if (20 <= valor &&
          valor <= 15000)
        {
 
          jQuery('#quick_reply')
            .append(this)
            .before(
              '<div id="qr_posting_msg" style="margin: auto auto;    width: 60%;display:block;background-color: #d5f39b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;">' +
              '      <span class="posting-vs" style="text-indent: 3px;"><i class="far fa-check-circle"></i> Postada com sucesso!</div>' +
              '</span>'
            );
            $('#quick_reply')
            .append(this)
            .before(
              '<div id="posting-vs" style="margin: auto auto;background-color: #f3f09b;text-align: center;color: black;font-weight: bold;font-size: 12px;font-family: Arial, sans-serif;padding: 10px;display: block;border: 1px solid darkgrey;width: 60%;">' +
              '<span class="posting-v" style="text-indent: 3px;display:inline-block"><i class="fas  fa-spin fa-spinner"></i> Enviando a mensagem...</span>' +
                '</div>'
            );
          jQuery('#qr_posting_msg')
            .hide();
          jQuery.post(hrefReply,
          {
            'message': jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val(),
            'post': '1',
            'attach_sig': '1'
          }, function (d)
          {
            var href = jQuery(
                'a[href^="/viewtopic"]',
                d)
              .attr('href');
            jQuery.get(href,
              function (e)
              {
                jQuery(
                    '.post:last',
                    e)
                  .hide()
                  .insertAfter(
                    '.post:last'
                  )
                  .slideDown(
                    'fast',
                    function ()
                    {
                      jQuery(
                          'html, body'
                        )
                        .animate(
                          {
                            scrollTop: jQuery(
                                '.post:last'
                              )
                              .offset()
                              .top
                          },
                          500
                        );
                    });
              });
            jQuery(
                '#text_editor_textarea'
              )
              .sceditor(
                'instance')
              .val('');
 
            jQuery('#posting-vs')
              .remove();
            jQuery(
                '#qr_posting_msg')
              .show(50,
                function ()
                {
                  $(
                      '#qr_posting_msg'
                    )
                    .fadeOut(
                        'slow', function() {
                            $(this).remove();
                        }
                    );
                });
          });
        }
      });
  });

esse seu codigo acima buga tmb
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 23.03.18 18:06

UP para movimentação de tópico e esperando alguma solução para minha duvida
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por virus 23.03.18 23:54

Olá, novamente.
Poderia por favor fornecer o seu viewtopic_body ?
Painel de Controle Seta Visualização Seta Templates Seta Geral
Procure por viewtopic_body e adicione na tag code para que seja feita as modificações.

Até!
virus

virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Postar em ajax com avisos

Mensagem por ranzatti 24.03.18 1:38

virus escreveu:Olá, novamente.
Poderia por favor fornecer o seu viewtopic_body ?
Painel de Controle Seta Visualização Seta Templates Seta Geral
Procure por viewtopic_body e adicione na tag code para que seja feita as modificações.

Até!

Não entendi virus
ranzatti

ranzatti
*****

Membro desde : 02/09/2010
Mensagens : 470
Pontos : 673

http://brnewgeneration.forumeiros.com/forum

Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ver o tópico anterior Ver o tópico seguinte Ir para o topo

- Tópicos semelhantes

Permissões neste sub-fórum
Não podes responder a tópicos