Usuário com melhor resposta
limitar quantidade de caracters em uma textarea

Pergunta
-
Galera estou tentano limitar a quantidade de caracters de uma textarea da minha página em ASP junto com uma função em javascript
o código que estou usando é esse:
Code Snippet<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function textCounter(field, countfield, maxlimit) {
If (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
Else
countfield.value = maxlimit - field.value.length;
}
// -->
</script></HEAD>
<BODY>
<FORM name="FormTeste" METHOD="post" style="TOP: 0px;">
<tr>
<td>
<textarea name="NomeTextArea" wrap=physical cols=28 rows=4 style="face=verdana; font-size:11; color=black"onKeyDown="textCounter(this.form.NomeTextArea, this.form.remLen, 300);" onKeyUp="textCounter(this.form.NomeTextArea, this.form.remLen, 300);"><%=VariavelAsp%></textareafaltam <input readonly type=text name=remLen size=3 maxlength=3 value="300"></font>
</td></tr>
</FORM>
</BODY>
Ele da erro de script na página
Erro: objeto esperado
Código: 0
alguem sabe oq tem de errado ou oq pode ser o problema ?
se souberem alguma outra maneira tb agradeço
Desde já, valew galera
Respostas
-
Rodrigo,
A palavra chave "this" faz a referencia ao objeto que voce esta vinculando, ou seja, quando voce usa "this.form.TextArea" ele tenta encontrar atributos para o objeto textarea, entao creio que voce deva usar assim.
onKeyDown ="textCounter(this, document.form.remLen, 300);
onKeyUp="textCounter(this, document.form.remLen, 300);
Como pode ver o this já refencia o próprio objeto.
Faz um teste.
Abraço
Estevam
Todas as Respostas
-
Code Snippet
<SCRIPT LANGUAGE="JavaScript">
<!--
function CountCharBox(obj,objCount,Limit){
if(obj){
if (obj.value.length >= (Limit)){;
obj.value = obj.value.substring(0,(Limit));
return false;
}else{
objCount.value = obj.value.length + 1;
return true;
};
}
}
// -->
</script>
</HEAD><BODY>
<FORM name="FormTeste" METHOD="post" style="TOP: 0px;">
<tr>
<td>
<textarea name="NomeTextArea" wrap=physical cols=28 rows=4 style="face=verdana; font-size:11; color=black" onKeyDown="return CountCharBox(this.form.NomeTextArea, this.form.remLen, 10);return false;"></textarea>
<input readonly type=text name=remLen size=3 maxlength=3 value="0"></font>
</td></tr>
</FORM>
</BODY>
Ve se isso resolve seu problema!
-
Rodrigo,
A palavra chave "this" faz a referencia ao objeto que voce esta vinculando, ou seja, quando voce usa "this.form.TextArea" ele tenta encontrar atributos para o objeto textarea, entao creio que voce deva usar assim.
onKeyDown ="textCounter(this, document.form.remLen, 300);
onKeyUp="textCounter(this, document.form.remLen, 300);
Como pode ver o this já refencia o próprio objeto.
Faz um teste.
Abraço
Estevam
-
Rafael Boschini wrote: Code Snippet<SCRIPT LANGUAGE="JavaScript">
<!--
function CountCharBox(obj,objCount,Limit){
if(obj){
if (obj.value.length >= (Limit)){;
obj.value = obj.value.substring(0,(Limit));
return false;
}else{
objCount.value = obj.value.length + 1;
return true;
};
}
}
// -->
</script>
</HEAD><BODY>
<FORM name="FormTeste" METHOD="post" style="TOP: 0px;">
<tr>
<td>
<textarea name="NomeTextArea" wrap=physical cols=28 rows=4 style="face=verdana; font-size:11; color=black" onKeyDown="return CountCharBox(this.form.NomeTextArea, this.form.remLen, 10);return false;"></textarea>
<input readonly type=text name=remLen size=3 maxlength=3 value="0"></font>
</td></tr>
</FORM>
</BODY>
Ve se isso resolve seu problema!
PERFEITO CARA
só mudei a parte
obj.value.length + 1;
para
300 - obj.value.length;
assim ele vai decrementando o valor da contagem do campo
ficou otimo aki
valew mesmo cara, mandou muito bem !!!