Retorno de função JavaScript em iFrame
Boa tarde senhores, preciso de uma ajuda urgente:
Tenho o seguinte script, que restringe algumas teclas, em um iframe:
<script type="text/javascript">
var doc;
function load()
{
var ifr = document.getElementById("desc_problema");
doc = ifr.contentDocument || ifr.contentWindow.document
if(doc.addEventListener){
doc.addEventListener('keypress', sem_acento, false);}
else {
doc.attachEvent('onkeypress', sem_acento, false); addEventListener
}
}
function sem_acento(e,args)
{ if (document.all){var evt=event.keyCode;}
else
{var evt = e.charCode || e.which;}
var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK/+\()*#}{[]} =%!$@ãõê^~°ºÕâÂêÊôÔáéíóúÁÉÍÓÚàÀçÇ?><,.;-_'+args;
var chr= String.fromCharCode(evt);
if (valid_chars.indexOf(chr)>-1 ){return true;}
// para permitir teclas como <BACKSPACE> adicionamos uma permissão para
// códigos de tecla menores que 09 por exemplo (geralmente uso menores que 20)
if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}
alert("Tecla não permitida. Não usar aspas simples ou dupla."); return false;
}
</script>
<iframe id="desc_problema" frameborder="0" width="100%" height="90px" allowtransparency="true" scrolling="auto"></iframe>
<script>
window.onload = load;
</script>
Acontece que chega até o alert, mostra a mensagem na tela, porém o caractere que devia ser bloqueado aparece no iframe.
quando faço direto em um textarea sem iframe funciona normalmente
<textarea id="ta_justificativa" name="ta_justificativa" cols="55" rows="2" onkeypress="return sem_acento(event);"
O que estou fazendo de errado??Discussão (2)
Carregando comentários...