Foros del Web » Programando para Internet » Javascript »

Ms problemas con nestcape

Estas en el tema de Ms problemas con nestcape en el foro de Javascript en Foros del Web. para validar que el user solo meta numeros en un campo uso este script function LP_datatex(){ var key=window.event.keyCode; if (key < 48 || key > ...
  #1 (permalink)  
Antiguo 08/09/2004, 02:31
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 10 meses
Puntos: 1
Ms problemas con nestcape

para validar que el user solo meta numeros en un campo uso este script
function LP_datatex(){
var key=window.event.keyCode;
if (key < 48 || key > 57){
}


<input name="cp" type="text" class="campos" style="width:40px; height: 16px;" maxlength="5" onKeypress="LP_data()">

pero en IE funciona sin problemas pero en nestcape no funciona, ahi algun codigo alternativo que funcione en los dos

Un Saludo
  #2 (permalink)  
Antiguo 08/09/2004, 03:00
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 11 meses
Puntos: 772
Hola DINASEN.

<input name="cp" type="text" class="campos" style="width:40px; height: 16px;" maxlength="5" onKeypress="LP_data(event) />

function LP_datatex(e{
var key=(document.all) ? e.keyCode : e.wich;
if (key < 48 || key > 57){
}

Espero que te sirva. Saludos,
  #3 (permalink)  
Antiguo 08/09/2004, 12:10
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 10 meses
Puntos: 1
no no me funciona ademas esto es pa numeros tambien me gustaria saberlo solo para texto
Un Salduo y gracias por tu tiempo
  #4 (permalink)  
Antiguo 08/09/2004, 16:41
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 20 años, 6 meses
Puntos: 8
Que tal Dinasen...

Trata con este codigo:

function evaltext(evt) {
evt = (evt) ? evt : event;
var charCode = (evt.charCode) ? evt.charCode :
((evt.which) ? evt.which : evt.keyCode);
if ((charCode <58 && charCode>47) || (charCode >95 && charCode<106)) ||
((charcode>64 && charCode<91)) {
alert ('Ok');
} else {
alert ('No es numero o letra');
}
}
}


El charCode<58 && charCode>47 Se refiere a los numero digitados en el teclado alfanumerico, el (charCode >95 && charCode<106) se refiere a los numeros digitados en el teclado numerico.... El resto a letras (de la "a" a la "z" mayuscuals y/o minusculas)

Felicidades pues
  #5 (permalink)  
Antiguo 14/09/2004, 13:13
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 10 meses
Puntos: 1
augusto_jaramil me da error tu codigo

Por favor necesito ayuda con esto alguien me puede ayudar a solucionarlo

Un Saludo
  #6 (permalink)  
Antiguo 15/09/2004, 05:14
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 10 meses
Puntos: 1
Nadie peude ayudarme

Please

Un Saludo
  #7 (permalink)  
Antiguo 16/09/2004, 09:22
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 10 meses
Puntos: 1
De verdad que nadie me puede ayudar?¿

Un Saludo
  #8 (permalink)  
Antiguo 16/09/2004, 23:27
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 5
Hola DINASEN

He probado este script en Mozilla 1.7 por lo que tambien deberia funcionar en Netscape.
He convertido el numero del teclado en el caracter y luego lo compruebo con
una expresion regular. Espero que te sea util.

Un saludo

<head>

<script language="JavaScript">
<!--
/* Sustituye el valor asignado a mask_string por:

/[^\d]/i para cualquier caracter menos numeros
/[\d\s]/ solo numeros y espacios
/\d/ solo numeros

*/
var nav4plus = window.Event ? true : false;
function acceptChar(evt){
var key = nav4plus ? evt.which : evt.keyCode;
var its_char = String.fromCharCode(key)
if( key == 8){return true}
var mask_string = /[\d\s]/
return mask_string.test(its_char.toString())? true : false



}
//-->
</script>

</head>
<body>

<p><input type="text" name="valor" size="12" maxlength="12"
onKeyPress="return acceptChar(event)"></p>

</body
  #9 (permalink)  
Antiguo 17/09/2004, 10:41
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 5
Hola de nuevo.
He modificado el script para que solo cambiando el numero en onKeyPress="return acceptChar(event,2, this)" puedas coger segun las necesidades del campo, asi puede valer para validar distintos campos en un formulario, tambien puede introducir nuevas expresiones regulares en el array si necesitas alguna comprobacion distinta, si no sabes como funciona las expresiones regulares hay manuales en la red que te pueden ayudar. Merece la pena echarle un vistazo aunque sea un poco chaposo.

Un saludo


<html>
<head>

<script language="JavaScript">
<!--

var mask_string = new Array()

function property_mask(msk, msg){

this.msk = msk
this.msg = msg

}


function populate_array(){

mask_string[0] = new property_mask( /[^\d]/i, "Puede intruducir cualquier caracter menos los números.")
mask_string[1] = new property_mask(/[\d\s]/, "Solo se puede intruducir números y espacios.")
mask_string[2] = new property_mask( /\d/, "Solo se puede introducir números,\n no se permite espacios.")
mask_string[3] = new property_mask(/[A-Zñ\d]/i,"Solo se puede introducir letras y números,\n no se permiten espacios.")


}

populate_array()

var nav4plus = window.Event ? true : false;
function acceptChar(evt,nba,obj){
var key = nav4plus ? evt.which : evt.keyCode;
if(key == 8) { return true}
if(mask_string[nba].msk.test(String.fromCharCode(key))){ return true}
else{ alert(mask_string[nba].msg);obj.focus(); return false}

}
//-->
</script>

</head>
<body>
<!--el numero de argumento corresponde al array mask_string -->
<p><input type="text" name="valor" size="12" maxlength="12"
onKeyPress="return acceptChar(event,2, this)"></p>

</body>
</html>
  #10 (permalink)  
Antiguo 24/09/2004, 10:26
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 10 meses
Puntos: 1
kepawe Gracias hoy vi tu mensaje funciono a la perfecion

Un Saludo y millones de gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:39.