Cara eu no seu lugar usaria uma bibloteca de javascript. particularmente prefiro jquery. dai voce pode dar um bind no elemento, exemplo: $(document).ready(function(){ $('#id_do_elemento').bind('keypress',function(e){ //modificando o texto do elemento. $(this).text('Texto novo do campo.'); // $(this) é o proprio elemento. porem as vezes você manipula varios eventos e o $(this) pode mudar assim como no javascript. // então você pode atribuir o this a uma variavel var obj = $(e.target); // $(this) e $(e.target) são a mesma coisa. alert($(obj).text()); }); }); Caso não queira usar jquery ou outra biblioteca qualquer. você pode fazer no onLoad algo assim //mozilla document.getElementById('id').addEventListiner('keypress',function(e){ e.target.innerText = "Texto novo do campo."; },false); //false é quando você quer que ele pare a sequencia de eventos //Microsoft document.getElementById('id').attachEvent('keypress',function(){ window.event.target.innerText = "Texto novo do campo."; }); //Ou Assim document.getElementById('id').addEventListiner('keypress',meuEvento()); //mozilla document.getElementById('id').attachEvent('keypress',meuEvento(e)); //IE function meuEvento(e) { if(!e) e = window.event; e.target.innerText = "Texto novo do campo."; } Referencias Para testar o browser Refencia sobre eventos Documentação .bind com exemplo. melhor opção por que é crossbrowser e não precisa ficar testando :rolleyes: