PRWEBMaster Postado Agosto 10, 2010 Denunciar Share Postado Agosto 10, 2010 Tudo bem pessoal?Estou com uma duvida de como montar uma função para retirar ascentros e caracteres especiais quando vai digitando em uma TEXTAREA.Estou tentando com essa função mas não consigo:function retira_acentos(palavra) {com_acento = "áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ"; sem_acento = "aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC"; nova = ""; for(i=0;i<palavra.length;i++) { if (com_acento.search(palavra.substr(i,1))>=0) nova += sem_acento.substr(com_acento.search(palavra.substr(i,1)),1); else nova += palavra.substr(i,1); } document.myForm.Sacento.value = nova; } TEXTAREA: <textarea name="observacao" cols="63" rows="1" class="style93" id="observacao" onblur="retira_acentos(this.value)"></textarea>Muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jefmolino Postado Agosto 12, 2010 Denunciar Share Postado Agosto 12, 2010 Você poderia usar expressão regular dessa forma:<textarea name="observacao" cols="63" rows="1" class="style93" id="observacao" onkeyup="java script:this.value=this.value.replace(/[^0-9a-A-Z]/g, '');"></textarea>Assim, você limita a digitar somente letras e números...Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PRWEBMaster Postado Agosto 12, 2010 Autor Denunciar Share Postado Agosto 12, 2010 Não funcionou, não faz nada quando digito é, á, ', etc com ascentos e caracteres especiais.Muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raffr Postado Agosto 12, 2010 Denunciar Share Postado Agosto 12, 2010 (editado) Olá amigo. Boa tarde!Tente assim function retira_acentos(palavra) { com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ´`'; sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC '; nova=''; for(i=0;i<palavra.length;i++) { if (com_acento.search(palavra.substr(i,1))>=0) { nova+=sem_acento.substr(com_acento.search(palavra.substr(i,1)),1); } else { nova+=palavra.substr(i,1); } } return nova; } e no html assim <textarea name="observacao" cols="63" rows="1" class="style93" id="observacao" onkeyup="this.value=retira_acentos(this.value);"></textarea>qualquer coisa me fala! Editado Agosto 12, 2010 por raffr Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PRWEBMaster Postado Agosto 12, 2010 Autor Denunciar Share Postado Agosto 12, 2010 Agora da esse erro:document.myForm.Sacento is undefined[break on this error] document.myForm.Sacento.value = nova; Muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raffr Postado Agosto 12, 2010 Denunciar Share Postado Agosto 12, 2010 Po, você tem que substituir seu código por esse que eu postei!Se você reparar, eles são diferentes! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PRWEBMaster Postado Agosto 13, 2010 Autor Denunciar Share Postado Agosto 13, 2010 Tudo bem raffr?Eu substitui o meu codigo pelo seu e continua dando erro.Muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rafaeldorazio Postado Agosto 13, 2010 Denunciar Share Postado Agosto 13, 2010 testei e esta funcionando !<script language="JavaScript" type="text/javascript"> function retiraAcento(obj) { palavra = String.fromCharCode(event.keyCode); var caracteresInvalidos = 'àèìòùâêîôûäëïöüáéíóúãõÀÈÌÒÙÂÊÎÔÛÄËÏÖÜÁÉÍÓÚÃÕ'; var caracteresValidos = 'aeiouaeiouaeiouaeiouaoAEIOUAEIOUAEIOUAEIOUAO'; var acento = "´`^¨~"; if(acento.indexOf(palavra)!= -1) { window.event.keyCode = 0; } if (caracteresInvalidos.indexOf(palavra) == -1) { if (caracteresValidos.indexOf(palavra) != -1) { window.event.keyCode = 0; obj.value = obj.value + palavra; } } else { window.event.keyCode = 0; nova = caracteresValidos.charAt(caracteresInvalidos.indexOf(palavra)); obj.value = obj.value + nova; } } </script> Agora o codigo HTML <form id="verifica" method="post" action="" > <p> <input type="text" name="txtlogin" id="txtlogin" onKeyPress="java script:retiraAcento(this);"> </p> </form> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 raffr Postado Agosto 13, 2010 Denunciar Share Postado Agosto 13, 2010 po, eu to testando aqui e tá funcionando caracopia o código completo e testa denovo<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script language="JavaScript"> function retira_acentos(palavra) { com_acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ´`'; sem_acento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC '; nova=''; for(i=0;i<palavra.length;i++) { if (com_acento.search(palavra.substr(i,1))>=0) { nova+=sem_acento.substr(com_acento.search(palavra.substr(i,1)),1); } else { nova+=palavra.substr(i,1); } } return nova; } </script> </head> <body> <form > <textarea onkeyup="this.value=retira_acentos(this.value);"></textarea> </form> </body> </html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PRWEBMaster Postado Agosto 17, 2010 Autor Denunciar Share Postado Agosto 17, 2010 Tudo bem raffr?Então eu fiz o teste realmente ele retira o ascento e o caracter que colocar, mas não sei se você deparou com um problema.Quando você da enter para ir para baixo ele da um negocio estranho, estou fazendo o teste no firefox.Ele fica pulando e não desce.Muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PRWEBMaster
Tudo bem pessoal?
Estou com uma duvida de como montar uma função para retirar ascentros e caracteres especiais quando vai digitando em uma TEXTAREA.
Estou tentando com essa função mas não consigo:
function retira_acentos(palavra) {
TEXTAREA:Muito obrigado
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.