Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/07/2010, 06:58
Lechu_
 
Fecha de Ingreso: enero-2010
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 2
No me detecta teclas segun codigo ASCII

Hola tengo esta funcion que me controla que caracteres puedo usar en cada cuadro de texto, el tema que no me detecta la tecla TAB ni suprimir (DEL). Cuando le digo al firefox que me devuelva el codigo ASCII, me aparece "Undefined" (on definido),

Les dejo el codigo de la funcion y el HTML para que vean la llamada a la funcion.

Código:
function evaluar(e, valor){
//Parametro: -> e -> Evento.
//Parametro: -> valor -> me indica si debo evaluar texto, numeros o texto y numeros.
	

	var keynum
	var keychar
	var numcheck
	var char_car_num
	
	//car = caracter.
	//num = numeros.
	//carnum = caracteres y numeros.
	
	if(window.event){// IE
		keynum = e.keyCode //Devuelve el codigo ASCII
		
	}else if(e.which){ // Netscape/Firefox/Opera
		//alert ("entre al if")		
		keynum = e.which //Devuelve el codigo ASCII	
	}	
	
	// 8 = BackSpace, 9 = TAB, 127 = Supr (DEL), XX = flecha izquierda, XX = flecha derecha, 32 = espacio

	if ((keynum==8) || (keynum==127) || (keynum==32) || (keynum==9)){	
		return 0;
	}else{			
		if (valor=='car'){		
			keychar = String.fromCharCode(keynum)	
			charcheck=/[a-zA-Z]/ //Solo letras MAYUSCULAS y minusculas.			
			return charcheck.test(keychar)
		}else if(valor=='num'){		
			keychar = String.fromCharCode(keynum)	
			numcheck=/[0-9]/ //Solo numeros.			
			//numcheck = /\d/       // \d   -> Expresion regular para asegurarse que sea un numero.
			return numcheck.test(keychar)	
		}else if(valor=='carnum'){		
			keychar = String.fromCharCode(keynum)	
			char_car_num=/[a-zA-Z0-9]/ //Cualquier alfanumérico.
			return char_car_num.test(keychar)	
		}else if(valor=='caresp'){		
			keychar = String.fromCharCode(keynum)	
			carespcheck=/[a-zA-Z0-9_.-]/ //Cualquier alfanumérico + cualquiera de estos tres _ . - (no el espacio) 
			return carespcheck.test(keychar)	
		}
	}
}//Cierra la funcion evaluar

Codigo html: (tiene algo en php pero no inside en el código)

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Red</title>
<meta http-equiv="Content-Language" content="English" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<script type="text/javascript" src="js/funciones.js"></script>

<?php
include ('header.php');
include ('menu.php');
?>

</head>

<body>

<!--<div id=form align="center" border="1">-->

<div id="titulos_g">
	<h1><b>ALTA DE USUARIO</b></h1> <!-- <b> lo pone en negrita.-->
</div>
<br>
<div id="form_alta" class = "textos"> <h2>Datos personales </h2></div>
 <div id="content_form_alta">
<!--  
td=hace columnas
tr=hace filas
--> 
	<br>
	<!-- <td align="center" colspan="1"> -->
	<form name="usuario" id="id_usuario" action="b.html" method="POST"> <!-- //"p_alta_us.php" method="POST"> -->
	  <p>Nombre: 
		<input type="text" tabindex="1" name="nom_us" value="" id="nom" onkeypress="return evaluar(event, 'car')"/></p>
	  <p>Apellido: 
		<input type="text" tabindex="2" name="ape_us" value="" id="ape_us" onkeypress="return evaluar(event, 'car')"/></p>
	  <p>E-mail: 	
		  <input type="text" tabindex="3" name="email_us" value="" id="email_us"/></p>
	  
	 <table> <!--//border="1">-->
	  <tr>
	   <td colspan="2"> Tipo Doc: <SELECT tabindex="4" Name="tipodoc"> 
		 <?php
		 $tdoc_array=Array ("Elija", "DNI ","LE ","LC ");
		 If ($_SESSION['tipodoc'] ==''){
			$seleccionado= $tdoc_array[0];//elegir la posicion uno del array llamado tdoc
		 }else{
			$seleccionado=$_SESSION['tipodoc'];
		 }
		 foreach ($tdoc_array as $value)
			echo '<OPTION VALUE="'.$value.'" '.$seleccionado.'>'.$value.'</OPTION>'; /*Con esto puedo lograr que se 
			autocomplete el option value con el Arreglo tdoc_array.*/
		 ?>
	   </select></td>

	   <td><p>Número: 
		 <input type="text" tabindex="5" name="numdoc_us" value="" id="numdoc_us" onkeypress="return evaluar(event, 'num')"/></p></td>
	  </tr>	  	  
	 </table>

 </div> <!--Cierra <Div id="content_form_alta">-->
<div id="bottom_form_alta"></div>

<br><br><br><br><br>
<div id="form_alta" class="textos"> <h2>Datos de cuenta</h2></div>

<div id="content_form_alta">
  <p>Nick: <?php //falta corrobar el nick mientras se escribe ?>  
	  <input type="text" tabindex="6" name="nick_us" value="" id="nick_us" onkeypress="return evaluar(event, 'caresp')"/></p>		  
  <p>Clave: 	
	  <input type="pass" tabindex="7" name="pass_us" value="" id="pass_us" onkeypress="return evaluar(event, 'car')"/>
	  <td class="ayuda"><img src="images/ayuda.gif" alt="Ayuda" onmouseover="muestraAyuda(event, 'clave')"></td></p>
  <p>Repita la Clave: 	
	  <input type="pass" tabindex="8"name="repit_pass_us" value="" id="repit_pass_us" onkeypress="return evaluar(event, 'carnum')"/></p>	  
		
  <label>
	<td colspan="2" align="center"><input type="button" value="Enviar" onclick="valida_envia()"/></td> 	 
  </label>
	  
	</form>
 </div>
<div id="bottom_form_alta"></div>

<br><br><br><br><br>
</body>
</html>