[Tutorial] Caracteres mínimos para responder um tópico

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

avatar
Admin
Administrador
Tempo Online : 250d 6h 21m 59s
Mensagens : 693
Reputação : 4
Ver perfil do usuário http://bestweb.forumais.com

MensagemAdmin em Ter Set 13, 2016 10:16 pm

Autor: Turbodeif
Funcionalidade: Todas as versões
Descrição: Muita das vezes, nossos tópicos são alvos de Flooder e até mesmo de Duple-Post, mas com essa função em vossos fóruns este tipo de abuso ficará talvez inviável pelos infratores.

Acesse:
Painel de Controle Módulos HTML & Javascript Gestão dos códigos Javascripts

E crie um novo javascript com investimento nos tópicos com esse código:

Código:
jQuery(function(){jQuery(function(){
/* Name of effect: Contagem de palavras antes de postar
Criado por: Turbodeif - Fórum dos Fóruns Espanhol
Disponível para: Todas as versões:
Descrição:
*/
      var MinNumberOfWords = 5; /* Mínimo de palavras para destravar o botão ENVIAR */
      var LetterCountPerWord = 3; /* Comprimento mínimo da palavra */
      var ico_compl = "http://i73.servimg.com/u/f73/18/10/89/49/ok-gre10.png"; /* Ícone que aparecerá quando o usuário tiver digitado tudo */
      var ico_incompl = "http://i73.servimg.com/u/f73/18/10/89/49/exclam10.png";  /* Ícone que aparecerá quando o usuário não tiver digitado tudo */
 
 
    if(jQuery("#text_editor_textarea").length != 0){
        jQuery("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");      
      jQuery(".sceditor-container").after("<br/><div id='div_minchars' align='center'><div id='div_minchars_header'> Mínimo de letras para postar: " + MinNumberOfWords + " (ou pelo menos) " + LetterCountPerWord + " letras)</div><div id='div_minchars_info'></div></div>");
        
        var sceditor = jQuery("#text_editor_textarea").sceditor("instance");                  
        var str = sceditor.val();
        var regex = new RegExp('\\w{' + LetterCountPerWord + ',}\\b', 'g');
        var str_arr = str.match(regex);
        var str_len = str_arr == null ? 0 : str_arr.length;
        
        if(str_len >= MinNumberOfWords) jQuery("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
        
        sceditor.keyUp(function(e) {
            str = sceditor.val();
            str_arr = str.match(regex);
            str_len = str_arr == null ? 0 : str_arr.length;
            if(str_len >= MinNumberOfWords) {
              jQuery("#div_minchars_info").html("Você escreveu <span style='color:green'>" + str_len + "</span> palavras. Agora você pode enviar a mensagem <img src='" + ico_compl  + "' />");  
          jQuery("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
            }else{
              jQuery("#div_minchars_info").html("Você escreveu <span style='color:red'>" + str_len + "</span> palavras. Você precisa " + (MinNumberOfWords - str_len) + " palavraspara enviar esta mensagem <img src='" + ico_incompl  + "' />");
              jQuery("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
            }
        });
      }
  })});


  • Resultado:

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

Cria uma conta ou logue para postar uma mensagem.

Você precisa ser um membro, para poder postar uma resposta.

Criar conta

Participe de nossa comunidade, basta se registrar. É Fácil!


Criar uma conta

Logar

Já tem uma conta? Sem problemas, Logue agora.


Logar-se

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum