Foros del Web » Programando para Internet » Javascript »

error en esta linea de codigo

Estas en el tema de error en esta linea de codigo en el foro de Javascript en Foros del Web. Muy buenas: Estoy validando un formulario con javascript y m da el siguiente error: El objeto no acepta esta propiedad o metodo Linea 28: Y ...
  #1 (permalink)  
Antiguo 29/09/2006, 05:22
 
Fecha de Ingreso: septiembre-2006
Mensajes: 84
Antigüedad: 17 años, 7 meses
Puntos: 0
error en esta linea de codigo

Muy buenas:
Estoy validando un formulario con javascript y m da el siguiente error:
El objeto no acepta esta propiedad o metodo
Linea 28:
Y en esa linea tengo el siguiente codigo javascript:

Código:
  if ((isNaN(window.document.kontaktua.telefonoa.value)==true) && (window.document.kontaktua.telefonoa.value=="") && (window.document.kontaktua.telefonoa.length!=9) && (window.document.kontaktua.telefonoa.charAt(0)!=9) || (window.document.kontaktua.telefonoa.charAt(0)!=6))
	{
		window.alert("Debe introducir su numero de telefono correctamente")
	}
Comentar, que los estoy validando desde una hoja externa, por eso aparece el window.document. nombre_formulario.nombre_campo. La cosa es que antes con el codigo siguiente funcionaba perfectamente:

Código:
if((isNaN(window.document.kontaktua.telefonoa.value)!=false) && (window.document.kontaktua.telefonoa.value==""))
	{
		window.alert("Debe introducir su numero de telefono")
	}
Si alguien m puede corregir el fallo ... pienso yo que sera asunto de las parentesis...
SALU2 Y GRACIAS DE ANTEMANO.

Última edición por josusaar; 29/09/2006 a las 05:37
  #2 (permalink)  
Antiguo 29/09/2006, 05:59
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 josusaar

Creo que el error está aquí:
Código:
window.document.kontaktua.telefonoa.value.charAt(0)!=9
Saludos,
  #3 (permalink)  
Antiguo 29/09/2006, 08:58
 
Fecha de Ingreso: septiembre-2006
Mensajes: 84
Antigüedad: 17 años, 7 meses
Puntos: 0
Gracias por tu respuesta, el fallo si k lo hemos solucionado,pero resulta que la validacion que queremos lograr no es la correcta;

Código:
 if ((isNaN(window.document.kontaktua.telefonoa.value)==true) && (window.document.kontaktua.telefonoa.value=="") && (window.document.kontaktua.telefonoa.length!=9) && (window.document.kontaktua.telefonoa.value.charAt(0)!=6) || (window.document.kontaktua.telefonoa.value.charAt(0)!=9))
	{
		
		window.alert("Debe introducir su numero de telefono correctamente")
	}
Todas las condiciones se cumplen excepto la ultima, y hemos probado, poniendo el 6 en ultimo lugar en vez del 9, y es el k ha fallado, con lo cual el fallo puede que este en la ultima condicion...
SALU2 Y Gracias de antemano.
  #4 (permalink)  
Antiguo 09/10/2006, 04:41
 
Fecha de Ingreso: septiembre-2006
Mensajes: 84
Antigüedad: 17 años, 7 meses
Puntos: 0
No encontrais el error? Eske nose k leches pasa en esa linea...
Espero respuestas...
SALU2
  #5 (permalink)  
Antiguo 09/10/2006, 05:34
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 1 mes
Puntos: 10
Hola josusaar

Te propongo que hagas una cosa: Prueba a que cuando preguntes por los valores numéricos, uses un paso a número entero..

Alomejor es que window.document.kontaktua.telefonoa.charAt(0) te lo está retornando como cadena, y no como entero, asi que usa parseInt(window.document.kontaktua.telefonoa.charAt(0)) != 9

Mira a ver si esto te es útil y te vale para lo que deseas hacer. (hazlo tanto para la comparacióin del 6 como la comparación del 9.

Un saludo.

  #6 (permalink)  
Antiguo 09/10/2006, 09:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 84
Antigüedad: 17 años, 7 meses
Puntos: 0
Buenas:
M sigue dando error en esta linea de codigo:

Código:
if ((isNaN(window.document.kontaktua.telefonoa.value)==true) && (window.document.kontaktua.telefonoa.value=="") && (window.document.kontaktua.telefonoa.length!=9) && (parseInt(window.document.kontaktua.telefonoa.charAt(0))!=6) || (parseInt(window.document.kontaktua.telefonoa.charAt(0))!=9))
Como bien m habeis dicho he puesto los parseInt, como se ve en el codigo, pero na...Haber si m ayudais...
SALU2
  #7 (permalink)  
Antiguo 10/10/2006, 02:08
 
Fecha de Ingreso: septiembre-2006
Mensajes: 84
Antigüedad: 17 años, 7 meses
Puntos: 0
Nadie m puede ayudar?
SALU2
  #8 (permalink)  
Antiguo 10/10/2006, 02:19
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Por el momento voy a recortar el código, y a ordenarlo para verlo más claramente:

Código:
if 
(
  (isNaN(window.document.kontaktua.telefonoa.value))           && 
  (window.document.kontaktua.telefonoa.value=="")              && 
  (window.document.kontaktua.telefonoa.length!=9)              &&
  (parseInt(window.document.kontaktua.telefonoa.charAt(0))!=6) ||
  (parseInt(window.document.kontaktua.telefonoa.charAt(0))!=9)
)
Ahora veré y probaré el código :)
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba:
  #9 (permalink)  
Antiguo 10/10/2006, 02:23
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Analizando la sentencia no sé por qué metes cada condición entre paréntesis x separado. Eso te valdría si necesitaras q se cumpliera condición 1 && (condición2 || condicion3). Pero (condicion1) && (condicion2) &&, etc da lo mismo q esté entre paréntesis o no. Eso hace q el último || me desconcierte.

Sugerencia q se me okurre:

Código HTML:
var telefono=window.document.kontaktua.telefonoa.value; //O con el parseInt
if (isNaN(telefono) || telefono=="" || telefono.length!=9 || telefono.charAt(0)!="6") || telefono.charAt(0)!="9")) {
     window.alert("Debe introducir su numero de telefono correctamente");
}
Me parece también q te confundes un poco en el uso de && y ||. Espero q ésto te funcione.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
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 04:28.