Foros del Web » Programando para Internet » Javascript »

tengo un problema con este codigo

Estas en el tema de tengo un problema con este codigo en el foro de Javascript en Foros del Web. Hola bueno soy muy nuevo en esto de javascript e realizado el siguiente codigo para comprobar si los datos introducidos en varios campos son solamente ...
  #1 (permalink)  
Antiguo 11/12/2006, 06:42
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
tengo un problema con este codigo

Hola bueno soy muy nuevo en esto de javascript e realizado el siguiente codigo para comprobar si los datos introducidos en varios campos son solamente numero saca se lo muestro:

function numero(s){
var donde=s;
var check="0123456789";
var allNum="";

for(i=0;i<donde.length;i++){
ch=donde.charAt(i);
for(j=0;j<check.length;j++){
if(ch==check.charAt(j)){
allNum += ch;
}
}
}
if(donde.length>allNum.length){
return false;
}
}
Esta funcion me va bien…. El problema es el que viene

function validar(){
with (document.formulario){
return numero(document.formulario.texto.value);
return numero(document.formulario.texto1.value);
return true;
}
}

Es ahí el problemita el primero me lo valida “texto” pero el segundo “texto1” nada q ver, si alguien me puede dar una ayuda… muchas gracias de ante mano.
  #2 (permalink)  
Antiguo 11/12/2006, 07:58
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: tengo un problema con este codigo

Pero ¿te algún error?

habría que ver el formulario también
  #3 (permalink)  
Antiguo 11/12/2006, 09:20
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: tengo un problema con este codigo

ah ver este es el formulario

<form action="index.htm" onsubmit="return validar()"; name="formulario">
<input type="text" size="14" name="texto">
<p>
<input type="text" size="15" name="texto1"></p>
<p><input type="submit" value="Enviar" name="B1"></p>
</form>

el error es el siguiente resulta que en los dos campos solo se permite numeros en "texto" todo funciona si pongo letras punto etc... da error e impide q se continue.... mientras que en el "texto1" deberia suceder lo mismo pero no lo hace coloco puntos letras etc.. deberia dar error y no seguir pero simplemente lo deja seguir.
  #4 (permalink)  
Antiguo 11/12/2006, 10:04
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: tengo un problema con este codigo

Hola Yrnving

El problema está aquí:

function validar(){
with (document.formulario){
return numero(document.formulario.texto.value);
return numero(document.formulario.texto1.value);
return true;
}
}

Con el return termina la función y ya no comprueba nada más. Prueba poniendolo así:

function validar(){
return (numero(document.formulario.texto.value) && numero(document.formulario.texto1.value))}
}

Saludos,
  #5 (permalink)  
Antiguo 11/12/2006, 11:13
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: tengo un problema con este codigo

Gracias por tu ayuda, lo intente con ese método y me paso el mismo problema lo puede arreglar asi:

<script>
var chekOk=true;
function numero(s){
var donde=s;
var check="0123456789";
var allNum="";
for(i=0;i<donde.length;i++){
ch=donde.charAt(i);
for(j=0;j<check.length;j++){
if(ch==check.charAt(j)){
allNum += ch;
}
}
}
if(donde.length>allNum.length){
alert ("nada");
chekOk=false;
}
else
chekOk=true;
}
function validar(){
with (document.formulario){
numero(texto.value);
if(chekOk!=true)
return false;
numero(texto1.value);
if(chekOk!=true)
return false;

return true;
}
}
</script>

Aunque no creo que sea un buen código... si alguien tiene alguna idea de como mejorarlo le estaré agradecido salu2.
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 06:45.