ISSO SE ENCONTRA NA MINHA PAGINA ASP, EM UMA TABELA DE UM FORMULÁRIO! <tr> <td width="92" height="18">Nome:</td> <td colspan="4"> <input onKeyUp="this.value=this.value.toUpperCase();" onKeyPress="SemEspeciais(30,event)" name="txt_nome_conv" type="text"class="Stl_Borda" id="txt_nome_conv" size="30" maxlength="30" value="<%=nome_conv%>"></td> </tr> onKeyUp="this.value=this.value.toUpperCase();" <--- Esta parte, assim que o usuário digita uma letra, ela automaticamente fica MAIÚSCULA onKeyPress="SemEspeciais(30,event)" <--- Esta parte, assim que o usuário digita uma letra, ele verifica se é um caracter válido (vogais e números, "- não podem..) ***** Vou colar a funçao SemEspeciais() ***** function SemEspeciais(tammax) { event.srcElement.maxLength=tammax; if (event.srcElement.value.length+1>tammax) { event.KeyCode=0; } if (event.keyCode<34 || (event.keyCode>39 && event.keyCode<91) || (event.keyCode>93 && event.keyCode<123) || event.keyCode>125) { return true; } else { event.keyCode=0; return false; } } ***************** O PROBLEMA -> Quando o usuário vai editar o nome dele, as setinhas do teclado não conseguem caminhar pelo seu nome.. e quando posiciono o mouse no meio do nome, assim que eu digito uma letra, ela é inserida no meio mesmo, mas a proxima seria inserida la no fim do nome =/ Tentei trocar o onKeyUp por onKeyPress e onKeyDown, mas não resolveu.. alguém consegue me ajudar??