Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lparrillo

Bloquear um determinado character!!!

Recommended Posts

Olá,Preciso bloquear o character ' de dentro de uma textarea.. Com a ajuda de você's eu já consegui bloquear texto menor que 10 characteres, porém agora preciso bloquar este, pois caso contrario da erro na hora que o usuário da um Enviar..como eu faço?Meu script atual é:<script language="javascript"><!--function averiguar() {if (document.form.eleitor.value == "none") {alert ("Você precisa selecionar o número de Registro"); return false}if (document.form.Colegas.value == "none") {alert ("Você precisa selecionar o Colega a ser Indicado"); return false}if (document.form.evidencia.value.length < 10) {alert("Digite uma evidência de no mínimo 10 letras"); return false;}return true;}//--></script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com JavaScript? Aqui em ASP? Vou mover para a área correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites
[tr][/tr][tr][/tr]
ASP function TeclaBloq(Campo,teclapres){

var tecla = teclapres.keyCode;

if (tecla == X)

{

window.alert("não é permitido o caracter");

Campo.focus();

return false;

}

return tecla;

}

 

no lugar do X poe o codigo ASC da tecla que quer bloquerar

 

e chama a função no evento onkeyPress do TextArea

 

onkeyPress="return TeclaBloq(this,event);"

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixei assim.. mas nao deu certo.,...function TeclaBloq(Campo,teclapres){var tecla = teclapres.keyCode;if (tecla == 44){ window.alert("Não é permitido usar o Caracter '");Campo.focus();return false;}return tecla;}e no textarea<TEXTAREA NAME="evidencia" wrap=physical ROWS="5" COLS="50"onKeyDown="textCounter(this.form.txt,this.form.remLen,250);" onKeyUp="textCounter(this.form.evidencia,this.form.remLen,250);"onkeyPress="return TeclaBloq(this,event);" ></textarea>Tem este monte de codigo pq eu tenho aquele contador de caracteres..sabe..Vi que na tabela ASCII o caractere ' é 44 por isso coloquei la.. Oq está errado.. nao deu nenhum erro.. passa normal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deve ser algum detalhezinho, mas me diz uma coisa porque bloquear este caracter??

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara testei e funciona sim, o negocio é que 44 é o codigo ASC da virgula e não da aspa, tenta usar o 39 que é o codigo correto, verifica se a virgula passa direto na sua text area

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara testei e funciona sim, o negocio é que 44 é o codigo ASC da virgula e não da aspa, tenta usar o 39 que é o codigo correto, verifica se a virgula passa direto na sua text area

Ae.. naum funcionou.. to 44 era virgula mesmo.. mas se eu mudo para 39 que realmente é o ' , ai quando eu aperto a tecla 1 ele diz q naum pode.. oq eu devo fazer hein?...Eu tenho que bloquear pq vamos supor que ele digiteEu voto neste ' usuario e mais um monte de coisasAi quando eu do o enviar ele entende este caracter ' como alguma expressão do ASP ai da erro..

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara o javascript que te passei rolou aqui, mas como a sua intenção é apenas evitar erro na hora de inserir a sua duvida volta a ser ASP, faz assim:antes de inserir no bd dá um REPLACE no valor pra substituir suas aspas simples por duas aspas simples, tipo assimvalor = REPLACE(valor,"'","''")ve se funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim.. é mais simples

ASP [/tr][tr]<script>

function tecla(){

if(event.keyCode==44) {

alert("Tecla não permitida");

event.keyCode=0;

}

}

</script>

[/tr]

use o onkeypress="tecla()" no textarea

Compartilhar este post


Link para o post
Compartilhar em outros sites

]v[[䣵kø««,Nov 11 2004, 07:40 AM] faz assim.. é mais simples

[tr][/tr][tr][/tr]
ASP <script>

function tecla(){

if(event.keyCode==44) {

alert("Tecla não permitida");

event.keyCode=0;

}

}

</script>

use o onkeypress="tecla()" no textarea

Assim relamente é mais simples, mais o que entendi, ele não quer realmente bloquear o caracter aspa simples, cujo codigo é 39, e sim ele não quer que ao usar este caracter no text area dê erro, este é um erro que dá ao usar ASP pra inserir no BD, por que aspa simples é o caracter delemitador de string numa string SQL então quando acha a primeira aspa ele entende que o texto já acabou o que não é verdade ai quando acha o proximo caracter dá erro, por isso tem o recuro no ASP de usar duas aspas pra representar uma num astring SQL, por isso a substituição antes de inserir no BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah ta.. achei que ele queria bloquear o caractere.. e lendo melhor ali em cima.. vai dar erro no final..fora essa opcao que você deu do replace... acho que da pra ele validar com js msm.. tipo um alerta se o cara digitar o ' ...com o evento onblur, por exemplo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

]v[[䣵kø««,Nov 11 2004, 09:32 AM] ah ta.. achei que ele queria bloquear o caractere.. e lendo melhor ali em cima.. vai dar erro no final..fora essa opcao que você deu do replace... acho que da pra ele validar com js msm.. tipo um alerta se o cara digitar o ' ...com o evento onblur, por exemplo...

É verdade,...Mas se o lparrillo tivesse explicado melhor sua duvida seu post nem teria sido movido pra cá..

Compartilhar este post


Link para o post
Compartilhar em outros sites

quanto ao botão é assim:<input type="button" value="Fechar" name="btnFechar" nClick="self.close();">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem cara resumindo é assim, você tem um text area de nome TEXTO que você passará para outra pagina inserir seu valor no bd, certo??Bem você não deve inserir direto o valor do request ou seja não insira request.form("TEXTO") , mas em vez disso insira no BD REPLACE(request.form("TEXTO"),"'","''")ou seja antes de inserir usa o replace pra trocar suas aspas simples por duas aspas simples que acabam os problemas, pelo menos pra este erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw.. vou testar já.,....

ok lparrillo B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.