Mostrar Quantos Caracteres Faltam

Procurei aqui no forum e não encontrei nada a respeito.

Preciso mostrar ao usuário a quantidade de caracteres que faltam para atingir o limite de caracteres permitidos num campo ao mesmo tempo em que ele vai digitando, pesquisei e não vi como fazer isso, alguém tem ideia se isso é possível fazer no SC ??

http://www.criarweb.com/artigos/plugin-jquery-textarea.html

Haroldo,

Grato pela dica, mas infelizmente neste caso fica complicado pra mim.

Na onload:

[CODE]echo <<<HTML

HTML;
[/CODE]

Na prática:
http://iw.servehttp.com:86/sc/7.1/app/Publico/control_counter_char/

  • Comentários no código são originários do link relatado na postagem anterior.

Outros links de exemplos jquery fáceis de aplicar ao sc:
http://www.codigosnaweb.com/forum/Mostrar-quantidade-de-caracteres-no-input-jQuery_3_4689.html

  • atualizado posteriormente o código

Caro Haroldo,

Vou tentar… obrigado.

Haroldo,

Testei essa função e rodou legal, porém o que eu realmente precisava é um contador regressivo, ou seja, em função do tamanho máximo do campo mostrar quantos caracteres ainda podem ser preenchidos, isso é possível ser feito dentro dessa mesma função ???

Sim, uma conta simples, basta adicionar um parâmetro informando o tamanha máximo e o retorno subtrair do tamanho digitado.

Olhe na onload o código de que passei, tente fazer, se esgotar suas tentativas e não conseguir avise aqui.

Só porque hoje é sexta:


echo <<<HTML

<script>

//crio o plugin contaCaracteres
jQuery.fn.contaCaracteres = function() {
   //para cada um dos elementos do objeto jQuery
   this.each(function(){
      //crio uma variavel elem com o elemento atual, supomos um textarea
      elem = $(this);
      //crio um elemento DIV improvisando 
      var contador = $('<div>Contador caracteres: ' + elem.attr("value").length + '</div>');
      //insiro o DIV depois do elemento textarea
      elem.after(contador);
      //salvo uma referencia ao elemento DIV nos dados do objeto jQuery
      elem.data("MyCounter", contador);
      
      //crio um evento keyup para este elemento atual
      elem.keyup(function(){
         //crio uma variavel elem com o elemento atual, supomos um textarea
         var elem = $(this);
         //recupero o objeto que tem o elemento DIV contador associado ao textarea
         var campocontador = elem.data("MyCounter");
         //modifico o texto do contador, para atualizá-lo com o número de caracteres escritos
         campocontador.text('Contador de todos meus textarea: ' + elem.attr("value").length);
      });
   });
   //sempre tenho que retornar this
   return this;
};

$(document).ready(function(){
   	$("textarea").contaCaracteres();
 	$("#id_sc_field_myinput").keyup(function() {
		var tamanho = $("#id_sc_field_myinput").val().length;
        var max= $("#id_sc_field_myinput").attr('maxLength');
        var vHtml='->Tamanho Máximo: 100 Usado: '+ tamanho + ' Faltam:' + (max-tamanho);
		$("#MyCount").html(vHtml);
	});
});

</script>

HTML;

Na prática:
http://iw.servehttp.com:86/sc/7.1/app/Publico/control_counter_char/

Haroldo,

Beleza, obrigado, mas essa versão dois eu não consegui fazer rodar, o que devo colocar no lugar dessa string #id_sc_field_myinput, é o nome do campo ou outro tipo de identificador ?

Prezado Haroldo,

E tem mais um detalhe, com a implementação da função (e falo da primeira versão) o comportamento das mensagens do SC foi modificado, por exemplo, a mensagem de forumulário atualizado com sucesso, vem acompanhada de dois botões, um FECHAR e outro OUTPUT, obrigando a clicar no fechar para desaparecer. Se ocorrer um erro em qualquer outro campo do formulário ele fica destacado em outro cor e mesmo corrigindo esse destaque não desaparece.

#id_sc_field_myinput é o id do elemento referente ao campo {myinput}.

Não sei o nome do campo que deseja exibir os caracteres faltantes.

O exemplo que demonstro é um controle.

O erro que ocorre em seu formulário, precisa analisar.

http://www.scriptcase.com.br/forum/index.php/topic,4930.msg20720.html#msg20720

Completamente funcional graças ao amigo Haroldo.

Opa George,

Achei que tinha resolvido naquela época. Foi mals.

Haroldo,

Utilizo sua rotina até hoje para gravar mensagens de SMS.