funÇÃo de javascript para bloquear caracteres

Pessoal,

Eu tenho um textArea e ele não aceita o comando maxlength.

Então eu preciso BLOQUEAR a digitação do usuario quando ele inserir 100 caracteres.
Pq ele não esta bloqueando e daí estoura o limite no banco e dá pau.

Alguem me ajuda nessa função de JS para bloquear quando os caracteres chegarem a 100???

valeuz :wink:

< input type=“text” maxlength=“100” >

Cara, o maxlength naum funciona para o TEXTAREA.

:cry:

Isso serve?

[]s

ou isso:

	function contaCaract&#40;&#41;
	&#123;
		var cont = document.seuForm.&lt;textArea&gt;.value;
		var permitido = 2000;
	
		if&#40;cont.length &gt; permitido&#41;
		&#123;
			event.keyCode = null;
			return false;
		&#125; 
		else
		&#123;
		    return true;	
		&#125;
	&#125;

Como é que você insere dados direto no banco, sem fazer nenhuma validação? Que coisa…

Se você está fazendo isso, e se você está usando “UPDATE” ou “INSERT” sem ser via PreparedStatement - ou seja, concatenando strings e montando o comando SQL no braço , posso até entrar com o seguinte comando SQL na text area (obviamente aqui estou supondo que seu banco usa ‘;’ para separar comandos SQL):

e ele iria fritar alguma tabela importante sua… Entre com o seu comando preferido (tipo TRUNCATE TABLE ou outras coisas mais “light”.)

SERÁ QUE TEM UMA FUNÇÃO NO FÓRUM PARA COLOCAR EM CAIXA BAIXA QUEM É ABUSADO E PÕE TUDO EM CAIXA ALTA?

hum, aparentemente não … que tal o bom senso? :smiley:

Valeu Baioni e OM.

Thiago…na realidade eu escrevi errado…naum dá pau de banco e sim de JS.

Lip, vc esta se referindo a mim?

Valeu Galera pela força.

bye
:wink: :wink:

<td align="left" class="txtPagina">Observação<br />

	<textarea onkeypress="javascript: return limitaCaracteres('obs',295)" id="obs" class="formulario"     rows="3"    cols="35" style="width:315px;" name="planoDeContas.obs">${planoDeContas.obs}</textarea>

</td>





/**
 * Limita aquantidade de caracteres de um elemento, o qual seu ID é recebido no parámetro
 * @param {Object} id - é o ID do elemento que está sendo usado
 * @param {Object} numCaracteres - número de caracteres máximo permitido
 */
function limitaCaracteres(id, numCaracteres){
	valor = document.getElementById(id).value;
	if(valor.length>=numCaracteres){
		//alert("mais que "+numCaracteres);
		return false;			
	}else{
		return true;
	}
}


:lol:

Uma pequena correçao.


<textarea onkeypress="javascript: return limitaCaracteres('obs',295, event)" id="obs" class="formulario" rows="3" cols="35" style="width:315px;" name="planoDeContas.obs">${planoDeContas.obs}</textarea>


/**
 * Limita aquantidade de caracteres de um elemento, o qual seu ID é recebido no parámetro
 * @param {Object} id - é o ID do elemento que está sendo usado
 * @param {Object} numCaracteres - número de caracteres máximo permitido
 */
function limitaCaracteres(id, numCaracteres, e){
	valor = document.getElementById(id).value;
	if(valor.length>=numCaracteres){
		//alert("mais que "+numCaracteres);
		var whichCode = (window.Event) ? e.which : e.keyCode;    	
		if(whichCode == 8 || whichCode == 0)return true; // aceita Tab e Back Space
		return false;			
	}else{
		return true;
	}
}

[quote=joaoorso]Uma pequena correçao.

[code]

${planoDeContas.obs}

/**

  • Limita aquantidade de caracteres de um elemento, o qual seu ID é recebido no parámetro
  • @param {Object} id - é o ID do elemento que está sendo usado
  • @param {Object} numCaracteres - número de caracteres máximo permitido
    */
    function limitaCaracteres(id, numCaracteres, e){
    valor = document.getElementById(id).value;
    if(valor.length>=numCaracteres){
    //alert("mais que "+numCaracteres);
    var whichCode = (window.Event) ? e.which : e.keyCode;
    if(whichCode == 8 || whichCode == 0)return true; // aceita Tab e Back Space
    return false;
    }else{
    return true;
    }
    }

[/code][/quote]

nao sei se eu deveria ressucitar o topico,mas irei.
bem, esse codigo funciona se a pessoa for digitando digito por digito, mas se por algum acaso ele digita o texto fora da area e cola um texto maior, o codigo vai furar.
para o codigo funcionar corretamente seria necessario conseguir o texto que a pessoa esta tentando inserir. verificando se o document.getElementById(id).value + ‘novo texto’ eh maior que o permitido

como faco para pegar o texto que esta sendo inserido no evento.
Tipo eu sei como pegar o caractere que ele digitou, mas isso nao vai adiantar muito, se o cara apertar CRTL + V eu pegar o ‘V’ preciso pegar o texto que ele esta colando. Alguem sabe como fazer isso???

[code]

.textarea { BACKGROUND-COLOR: #FFFFFF; BORDER-BOTTOM: 1px; BORDER-BOTTOM-WIDTH: 1px; BORDER-LEFT: 1px; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT: 1px; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP: 1px; BORDER-TOP-WIDTH: 1px; COLOR: #000000; border: 1px solid #98ACB9; FONT-SIZE: 9px; FONT-FAMILY: Verdana; OVERFLOW: auto; } input {background-color: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; border: 1px solid #98ACB9;}
<tr> 
	<td width="208"><strong>Descri&ccedil;&atilde;o:</strong></td> 
</tr> 
<td width="202"> 
	<textarea name="descricao" class="textarea" cols="56" rows="5" onKeyUp="AreaMax(this, 250, MaxConceito);"></textarea> 
</td> 
[/code]

fonte: http://imasters.uol.com.br/artigo/3730/javascript/verificacao_e_notificacao_de_informacoes/

Acho que resolve!