Foros del Web » Programando para Internet » Javascript »

Recoger valores de retorno de una funcion

Estas en el tema de Recoger valores de retorno de una funcion en el foro de Javascript en Foros del Web. Hola, tengo una funcion sencilla en javascript que valida si la palabra ingresada en el formulario contiene alguno de los caracteres no validos que contiene ...
  #1 (permalink)  
Antiguo 13/04/2005, 09:36
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
Recoger valores de retorno de una funcion

Hola, tengo una funcion sencilla en javascript que valida si la palabra ingresada en el formulario contiene alguno de los caracteres no validos que contiene un array. La función funciona correctamente, pero como hago para recoger los valores que me devuelve esta función?. Les dejo la función y luego termino con mi pregunta.

function validar(){

var cadena = new String(formulario.palabra.value);
var array = new Array();

array[0] = """"
array[1] = "'"
array[2] = "%"
array[3] = "-"
array[4] = ";"
array[5] = "_"

result = true;
for (i=0;i<6;i++){
var index = cadena.indexOf(array[i])
if(index > 0){
result = false;
}else{
result = true;
}
}
return result;
}

Esa es la función, no agregue todos los simbolos no válidos para no hacerla más extensa de lo que necesito para poder explicar lo que me pasa. Ahora bien, yo quiero hace por ejemplo que si la función me devolvió "true" entonces me escriba, en un caso hipotético, "No es válido", y si la función me devuelve "false" que escriba lo contrario, pero no se como hacerlo. Puse

if (validar() == false){
document.write("Valido")
}else{
document.write("No es valido")
}

pero tampoco sale. Bueno espero que alguien me pueda dar una mano, y gracias de antemano pro su tiempo. Saludos
  #2 (permalink)  
Antiguo 13/04/2005, 09:46
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola mariano_donati

Creo que el problema está en esta parte del código:

for (i=0;i<6;i++){
var index = cadena.indexOf(array[i ])
if(index > 0){
result = false;
}else{

Aunque encuentre un carácter invalido sigue comprobando, por eso si el último carácter que compruebas no se encuentra devuelve true. Prueba poniendolo así:

for (i=0;i<6;i++){
var index = cadena.indexOf(array[i ])
if(index > 0){
result = false;
break
}else{

otra cosa, el primer valor del array deberías ponerlo así: array[0] = "\""
Saludos,
  #3 (permalink)  
Antiguo 13/04/2005, 19:41
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
Gracais Javier, ahi estaba el error, nuevamnete te agradezco que te hayas tomado el tiempo para responderme. Saludos!. Y como leí varias respuestas tuyas en este foro y también tu siempre me has respondido con éxito mis preguntas, agradecería si podrías decirme que te parece lo que postee en el foro con eltitulo "carro de compras en javascript", espero que me des tu opinión acerca de lo que pregunto allí porque realmente confío y valoro tus respuestas, si eso es mucho pedir, obviamente que no tengo más que palabras de agradecimientos para vos y será hasta la próxima. Saludos!
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 17:24.