Jump to content
Fórum Script Brasil
  • 0

Ver Quantos Caracter Faltam


mestre fyoda
 Share

Question

<html>
<head>

<style type="text/css">

@import "css/estilo.css";

</style>
<script src="js/ajax.js"> </script>

<script>

function Contar(Campo){
    var valor = 200-Campo.value.length;
    document.getElementById("quantidade").innerText = "Faltam " + valor + " caracters";
        if((200-Campo.value.length)==0)
            alert('Atenção, você atingiu o limite máximo de caracteres!');
}

</script>
</head>
<body>

<form action="gravar_msg.php" method="POST" name="form" id="form">

    <ul>
       <li class="texto"> <div id="cadastra"></div> </li>
       <li class="texto"> <br /><br /> <div align="center">Para : <input type="text" name="para" id="para" class="caixa" /> </div></li>
       <li class="texto"> <br /><br /> <div align="center">Mensagem : </div><div align="center"><textarea name="msg" rows="6" cols="50" class="caixa" onKeyUp="Contar(this);" maxlenght="200" ></textarea> </div> </li>
       <li class="texto"> <br /><br /> <div id="quantidade"> 200 </div> </li>
       <li class="texto"> <br /><br /> <div align="center"> Mostrar para todos: <input type="checkbox" name="visivel" id="visivel" checked /> </div></li>
       <li class="texto"> <br /><br /> <div align="center"> <input type="button" value="Enviar" onclick="ajaxForm('cadastra','form');"> </div></li>
    </ul>

</form>

</body>
</html>

Esse codigo tem um problema, quando o usuario segura alguma tecla e passa o valor total não para, como eu faço ?

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
<script>
function getObject(obj) { 
  var theObj; 
  if(document.all) { 
  if(typeof obj=="string") { 
          return document.all(obj); 
  } else { 
          return obj.style; 
  } 
  } 
  if(document.getElementById) { 
  if(typeof obj=="string") { 
          return document.getElementById(obj); 
  } else { 
          return obj.style; 
  } 
  } 
  return null; 
} 
//Contador de caracteres. 
function Contar(entrada,saida,texto,caracteres) { 
  
          var entradaObj=getObject(entrada); 
          var salidaObj=getObject(saida); 
          var longitud=caracteres - entradaObj.value.length; 
  
if(longitud <= 0) { 
          longitud=0; 
          texto='<span class="disable">'+texto+'</span>'; 
          entradaObj.value=entradaObj.value.substr(0,caracteres); 
  } 
          salidaObj.innerHTML = texto.replace("{CHAR}",longitud); 
  } 
</script>

<textarea name="msg" rows="6" cols="50" class="caixa" onKeyUp="Contar('msg','quantidade','{CHAR} caracteres restantes.',200);">  ></textarea>

Edited by mestre fyoda
Link to comment
Share on other sites

  • 0
<HTML>
<HEAD>
<TITLE>Demo cortesia www.phpdemos.com.br</TITLE>
<script language="Javascript">
function counterUpdate(opt_countedTextBox, opt_countBody, opt_maxSize) {
var countedTextBox = opt_countedTextBox ? opt_countedTextBox : "counttxt";
var countBody = opt_countBody ? opt_countBody : "countBody";
var maxSize = opt_maxSize ? opt_maxSize : 1024;

var field = document.getElementById(countedTextBox);

if (field && field.value.length >= maxSize) {
field.value = field.value.substring(0, maxSize);
}
var txtField = document.getElementById(countBody);
if (txtField) {
txtField.innerHTML = field.value.length;
}
}
</script>

</HEAD>

<BODY>
<p>Demo cortesia: <a href="www.phpdemos.com.br" target="_blank">www.phpdemos.com.br</a> </p>
<p>
<textarea id="counttxt" name="counttxt" rows="10" onKeyUp="counterUpdate('counttxt', 'countBody','30');"></textarea>

<br>
Voc&ecirc; digitou <B><span id="countBody">0</span></b> caracteres - Limite: 30 Chars </p>
<p>Autor: <a href=" http://www.websewak.com/" target="_blank"> http://www.websewak.com/</a> </p>
</BODY>
</HTML>

Link to comment
Share on other sites

  • 0

ESerra corrija ai seu codigo, pois achei um bug :) se eu passar dos 30 caracters segundo uma tecla e depois eu clicar bo botao ele perde o foco e fica com o campo textarea com mais de 30 caracters, alem da onkeyup, também coloque um onblur.

<textarea id="counttxt" name="counttxt" rows="10" onKeyUp="counterUpdate('counttxt', 'countBody','30');" onblur=""counterUpdate('counttxt', 'countBody','30');""></textarea>

Link to comment
Share on other sites

  • 0

eu sei, quando eu digitei seu codigo, eu naome expressei muito bem, eu quiz dizer o codigo que você postou :).

Para esses tipos de testes eu sou bom :).

Os dois codigos estão com erros no firefox :

Erro: field has no properties

txtField.innerHTML = field.value.length;

Edited by mestre fyoda
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...