[Tutorial] Limitar quantidade de letras para postar uma mensagem

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

avatar
Admin
Administrador
Tempo Online : 176d 8h 9m 37s
Mensagens : 693
Reputação : 3
Ver perfil do usuário http://bestweb.forumais.com

MensagemAdmin em Qui Set 29, 2016 11:13 pm

Informações:

Autor: Desconhecido
Versões: Todas as versões
Introdução: Limitar quantidade de letras ou palavras para postar uma mensagem

Instalação:

Acesse:
Painel de controle -> Modulos -> HTML & Javascripts -> Gestão dos códigos Javascripts
Então crie um novo javascript com investimento em todas as paginas com esse código:
Código:
jQuery(function(){jQuery(function(){
      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 */

  /* ATENÇÃO: Mude somente os trechos que estão em Português, ou seja:
  
        jQuery(".sceditor-container").after("<br/><div id='div_minchars' align='center'><div id='div_minchars_header'> Mínimo de letras para postar: " +
 
  Você pode alterar o nome "MÍNIMO DE LETRAS PARA POSTAR" que está no código de exemplo acima.
  */
    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) + " palavras para enviar esta mensagem <img src='" + ico_incompl  + "' />");
              jQuery("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
            }
          });
      }
    })});
Deixamos algumas descrições dentro do código, altere ao seu gosto.


  • 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