[TUTORIAL] Limitar quantidade de letras para postar uma mensagem

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

[TUTORIAL] Limitar quantidade de letras para postar uma mensagem

Mensagem por Shek em 11/07/14, 05:00 pm



Tópicos e Mensagens

Em nosso fórum existe os usuários que gostam de postar conteúdos desnecessários, sendo que, isso incomoda muito na questão do controle contra os floods. Com este novo recurso, você poderá resolver este problema sem ter dor de cabeça.


--> Tutoriais, dicas e astúcias <--
Limitar quantidade de letras para postar uma mensagem



- Noção básica da função:
As páginas javascript ativas em seu fórum possibilita inserir scripts e jquery para personalizar seu fórum, contudo é importante saber que qualquer script encontrado na internet acabam por não surgir efeito nos fóruns.

Painel de controle >> Módulos >> HTML & JavaScript >> Gestão dos códigos JavaScripts >>
Seta Título Correspondente ao nome da página JavaScript/jQuery que será criada.
Seta Localização- São destinados os devidos locais para onde você aplicará os efeitos do JavaScript nos fóruns. No nosso caso, aplicaremos Nos tópicos.
Seta Código JavaScript Campo destinado para receber os códigos JavaScript e jQuery.
Seta Habilitar o gerenciamento dos códigos JavaScript Ao selecionar a opção sim, estará ativando a função páginas Javascript no seu fórum. Se selecionar não, as páginas serão desabilitadas no fórum.


- Código JS a ser utilizado:
jQuery(function(){jQuery(function(){
/* Name of effect: Contagem de palavras antes de postar
Criado por: Turbodeif - Fórum dos Fóruns Espanhol
Traduzido por: Shek
Disponível em: Fórum dos Fóruns
Disponível para: Todas as versões:
*/
var MinNumberOfWords = 5; /* Mínimo de palavras para destravar o botão ENVIAR */
var LetterCountPerWord = 3; /* Comprimento mínimo da palavra */
var ico_compl = "https://i.servimg.com/u/f73/18/10/89/49/ok-gre10.png"; /* Ícone que aparecerá quando o usuário tiver digitado tudo */
var ico_incompl = "https://i.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) + " palavraspara 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:




© Fórum dos Fóruns & Turbodeif


Se tiver alguma dúvida relacionada com este tópico crie um tópico com o seguinte título:
[Dúvida] Limitar quantidade de letras para postar uma mensagem
avatar

Shek
Admineiro
Admineiro

Masculino
Inscrito dia : 11/04/2009
Mensagens : 17909
Pontos Ativos : 22013

Ver perfil do usuário http://www.shiftactif.com https://go.topicit.net/ZosT/61pMt1mPsG https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

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


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