Agência OFF, desenvolvimento de soluções web para as Agências Digitais
Esta função simples serve para retirar os acentos do campo, mais ele não retira na hora que você está digitando e sim quando você tira o foco do campo, sendo assim a função é acionada.
aqui abaixo segue o script desenvolvido em javascript retirado da internet e adaptado.
<script language="javascript">
function retirarAcento(objResp) {
var varString = new String(objResp.value);
var stringAcentos = new String('àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ');
var stringSemAcento = new String('aaeouaoaeioucuAAEOUAOAEIOUCU');
var i = new Number();
var j = new Number();
var cString = new String();
var varRes = '';
for (i = 0; i < varString.length; i++) {
cString = varString.substring(i, i + 1);
for (j = 0; j < stringAcentos.length; j++) {
if (stringAcentos.substring(j, j + 1) == cString){
cString = stringSemAcento.substring(j, j + 1);
}
}
varRes += cString;
}
objResp.value = varRes;
}
</script>
aqui abaixo segue um “form” simples só para teste com o comando “onChange” que contém um javascript para acionar a função “retirarAcento”
<form> <input type="text" name="Teste" onChange="javascript:retirarAcento(this);"> </form>
Acesse também: Webly
Agência OFF, desenvolvimento de soluções web para as Agências Digitais


Com jQuery, aplica em todos os textBox
function noTilde(objResp) {
var varString = new String(objResp.value);
var stringAcentos = new String(‘àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ[]‘);
var stringSemAcento = new String(‘aaeouaoaeioucuAAEOUAOAEIOUCU’);
var i = new Number();
var j = new Number();
var cString = new String();
var varRes = ”;
for (i = 0; i < varString.length; i++) {
cString = varString.substring(i, i + 1);
for (j = 0; j < stringAcentos.length; j++) {
if (stringAcentos.substring(j, j + 1) == cString){
cString = stringSemAcento.substring(j, j + 1);
}
}
varRes += cString;
}
objResp.value = varRes;
}
$(function() {
$(“input:text”).keyup(function() {
noTilde(this);
});
});
o problema é se eu não precisar colocar em todos os campo, melhor adaptar isso com alguma classe ou com alguma ID, mais é uma boa idéia!
Thank you vert much!!!!!!!!!!!!!
E dá-lhe Sport Club Internacional!!!!
O ÚNICO CAMPEÃO DE TUDO!!!!!!
Thank you very much!!!!!!!!!!!!!
E dá-lhe Sport Club Internacional!!!!
O ÚNICO CAMPEÃO DE TUDO!!!!!!
Estou com um sistema de retirar ascentos semelhante a este ae, porem não funciona no Chrome, queria saber. o De vocês ai funciona no Chrome? – Deixa explicar o problema, no chrome ele duplica as vogais, ja as consoantes(claro não levam ascentos) não duplica… como resolver tal dilema?
Agraceço!
Bom Dieggo, o dilema só pode ser resolvido se eu conseguir enxergar o código, mais esse que tenho ai funciona no Chrome!
Abraços!
Obrigado Rodrigo!!!
parabéns pelo código
Estou tentando utilizar sua funcao e o retorno que estou tendo é undefined, tem aguma sugestão?
$(document).ready(function() {
$(” select[name=categorias]“).change(function() {
var opcao = $(this).find(“option:selected”).text();
opcao = noTilde(‘opcao’);
alert(opcao);
});
});
function noTilde(objResp) {
var varString = new String(objResp.value);
var stringAcentos = new String(‘àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ[]‘);
var stringSemAcento = new String(‘aaeouaoaeioucuAAEOUAOAEIOUCU’);
var i = new Number();
var j = new Number();
var cString = new String();
var varRes = ”;
for (i = 0; i < varString.length; i++) {
cString = varString.substring(i, i + 1);
for (j = 0; j < stringAcentos.length; j++) {
if (stringAcentos.substring(j, j + 1) == cString){
cString = stringSemAcento.substring(j, j + 1);
}
}
varRes += cString;
}
objResp.value = varRes;
}
Fiz algumas alterações no script, estava retornando undefined conforme citado pelo Fernando Villela, testei no firefox e chrome, segue:
function noTilde(palavra) {
var varString = palavra;
var stringAcentos = new String(‘àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ[]‘);
var stringSemAcento = new String(‘aaeouaoaeioucuAAEOUAOAEIOUCU’);
var cString = new String();
var varRes = ”;
for (i = 0; i < varString.length; i++) {
cString = varString.substring(i, i + 1);
for (j = 0; j < stringAcentos.length; j++) {
if (stringAcentos.substring(j, j + 1) == cString){
cString = stringSemAcento.substring(j, j + 1);
}
}
varRes += cString;
}
return varRes;
}