Claro...
window.event en IE es donde se define lo que ocurre (un evento) como el presionar ENTER, a que elemento del formulario le diste click, etcetera...
Keycode es el número o código que repesenta la tecla que en este caso se presiona. En este caso 13 representa ENTER.
Keycode no es el único..sino también shiftKey, altKey, y otros que podrias utilizar para el evento.
El número del KeyCode varía dependiendo de la tecla y navegador que se utilice. No te puedo ayudar en Netscape porque no lo utilizo y de hecho creo no tiene window.event sino otras vías alternas utilizando
which, pero no sabria decirte al respecto.
El script lo que hace es que al presionar ENTER e intentar enviar el formulario, éste se te cancela porque le esta devolviendo un RETURN con valor falso.
(Observa el
"!" antes del paréntesis en la función)
Aun asi, intenta usando
return !(window.event.keyCode == 13); en la función. Ha de funcionar igual, no lo he probado aun. Eso sí, no quites los paréntesis porque si lo usas como
return !window.event.keyCode == 13; seguro no te dejará escribir en el textfield.
Por el
onkeypress , cada vez que estás presionando alguna tecla dentro del textfield, se te ejecutará y devolverá el RETURN falso de la función. Por eso te negará el darle ENTER dentro del textfield.
Para practicar un ratito, intenta por ejemplo colocarle un alert dentro de la función al principio antes del
return ! y observa que al oprimir cualquier tecla dentro del textfield, el alert se te ejecutará. Ejemplo:
Código:
<html>
<head>
<title>Untitled</title>
<script language="javascript">
<!--
function noenter()
{
alert('Aparezco cuando se presiona cualquier tecla....!');
return !(window.event.keyCode == 13);
}
//-->
</script>
</head>
<body onLoad="document.formulario.txt.focus()">
<form action="javascript:alert('wenasssss')" method="post" name="formulario" id="formulario">
<input type="submit" name="enviar" value="enviar" >
<input type="text" name="txt" value="xxxxxxxxxxxx" onkeypress="return noenter()">
</form>
</body>
</html>
PD: Una lista de los KeyCodes la puedes encontrar en:
http://www.js-examples.com/beginners/key_codes.php3
Espero haberme explicado
?