Hola buenos días, tengo un Script de Javascript y funciona perfectamente en Internet Explorer y Mozilla Firefox pero no en Google Chrome ni Safari, os dejo aquí el código por si me podeis echar una mano:
 
<script Language="JavaScript">
 
  var correctos = new Array("0","1","2","3","4","5","6","7","8","9");
 
  var estado=false;
 
  var codigoTecla, cadenaTecla;   							
 
  function pulsada(e) 
 
  {
 
  	if (document.buscar.referencia.value == "referencia"){
 
		if (document.buscar.consulta_directa.value.length <= 8){
 
			estado=false;
 
			if(document.all)
 
			{
 
			  codigoTecla = event.keyCode;
 
			  cadenaTecla = (String.fromCharCode(event.keyCode));
 
			}
 
			else if(document.layers)
 
			{
 
			  codigoTecla = e.which;
 
			  cadenaTecla = String.fromCharCode(e.which);
 
			}
 
			else if(document.getElementById)
 
			{
 
			  codigoTecla = (window.Event) ? e.which : e.keyCode;
 
			  cadenaTecla=(String.fromCharCode(codigoTecla));
 
			}
 
			for(i=0;i<correctos.length;i++)
 
			{
 
				if(cadenaTecla==correctos[i])
 
					estado=true;
 
			}
 
			if(estado==false)
 
			{
 
				if(document.all){
 
					event.returnValue = false;
 
				}
 
				else{
 
					return false;
 
				}
 
			}
 
		}
 
		else{
 
			alert("El Código de referencia tiene como longitud máxima 9 caracteres");
 
			document.buscar.buscar.focus();
 
			return(false);
 
		}
 
	}
 
  }
 
  function validar(theForm){
 
  	if (theForm.referencia.value != "0"){
 
		if (theForm.referencia.value == "referencia"){
 
			if (theForm.consulta_directa.value == ""){
 
				alert("Debe insertar el nº de Referencia a consultar.");
 
				theForm.consulta_directa.focus();
 
				return(false);
 
			}
 
			if (theForm.consulta_directa.value.length < 9){
 
				alert("Debe insertar los 9 dígitos del nº de Referencia.");
 
				theForm.consulta_directa.focus();
 
				return(false);
 
			}
 
		}
 
		else{
 
			if (theForm.consulta_directa.value == ""){
 
				alert("Debe insertar el nº de Finca Registral a consultar.");
 
				theForm.consulta_directa.focus();
 
				return(false);
 
			}	
 
		}
 
	}
 
  return(true);
 
  }
 
function foco(){
 
	if((document.buscar.referencia.value == "0") && (document.buscar.consulta_directa.disabled == false)){
 
		document.buscar.consulta_directa.disabled = true;
 
		document.buscar.buscar.disabled = true;			
 
	}
 
	else{
 
		document.buscar.consulta_directa.disabled = false;
 
		document.buscar.consulta_directa.value = "";
 
		document.buscar.buscar.disabled = false;			
 
		document.buscar.consulta_directa.focus();		
 
	}
 
}
 
 
 
  var correctos = new Array("0","1","2","3","4","5","6","7","8","9");
 
  var estado=false;
 
  var codigoTecla, cadenaTecla;   							
 
  function pulsada(e) 
 
  {
 
    estado=false;
 
    if(document.all)
 
    {
 
      codigoTecla = event.keyCode;
 
      cadenaTecla = (String.fromCharCode(event.keyCode));
 
    }
 
    else if(document.layers)
 
    {
 
      codigoTecla = e.which;
 
      cadenaTecla = String.fromCharCode(e.which);
 
    }
 
    else if(document.getElementById)
 
    {
 
      codigoTecla = (window.Event) ? e.which : e.keyCode;
 
      cadenaTecla=(String.fromCharCode(codigoTecla));
 
    }
 
    for(i=0;i<correctos.length;i++)
 
    {
 
      if(cadenaTecla==correctos[i])
 
      estado=true;
 
    }
 
    if(estado==false)
 
    {
 
      if(document.all)
 
        event.returnValue = false;
 
	  else
 
	    return false;
 
	}
 
	return (true);
 
  }
 
  function pobla(){
 
  	document.buscar.action = "buscar.php";
 
	document.buscar.submit();
 
	return (true);
 
  }
 
  function realizar_busqueda(){
 
  	document.buscar.action = "prodx.php";
 
	document.buscar.submit();
 
  }
 
</script>
 
Os agradezco de antemano vuestra ayuda e interes.
 
Un saludo 
   
 


