Pues a mi me funciona perfectamente con Firefox, también lo probé con IE 6. Te envío el ejemplito que tengo:
Código:
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack)
textBoxCiudad.Attributes.Add("onkeypress", "return validar(event)");
}
</script>
<html>
<head>
<script type="text/javascript">
function validar(e) {
tecla = (document.all)?e.keyCode:e.which;
if (tecla==8) return true;
patron = /[a-zA-ZÑñ\s]/;
return patron.test(String.fromCharCode(tecla));
}
</script>
</head>
<body>
<form runat="server">
<asp:TextBox id="textBoxCiudad" runat="server"></asp:TextBox>
</form>
</body>
</html>