Foros del Web » Programando para Internet » Javascript »

el mismo codigo me va bien en firefox y no en internet explorer

Estas en el tema de el mismo codigo me va bien en firefox y no en internet explorer en el foro de Javascript en Foros del Web. El error lo obtengo cuando intento acceder a los elementos de una cadena, si el código lo ejecuto en firefox no tengo problema, pero al ...
  #1 (permalink)  
Antiguo 13/12/2006, 02:52
 
Fecha de Ingreso: noviembre-2006
Ubicación: Alicante
Mensajes: 107
Antigüedad: 17 años, 5 meses
Puntos: 0
el mismo codigo me va bien en firefox y no en internet explorer

El error lo obtengo cuando intento acceder a los elementos de una cadena, si el código lo ejecuto en firefox no tengo problema, pero al hacerlo en internet explorer me da error. Lo he intentado visualizar con un alert y me dice undefined, mientras que en firefox veo cada elemento de la cadena. Aquí os dejo el código javascript y a ver si me podeis ayudar.

Gracias.

Código:
function comprovaCamps(){
	var val1 = true;
	var val2 = true;
	
	var camp1 = document.getElementsByName("nom");
	var camp2 = document.getElementsByName("mail");
	var camp3 = document.getElementsByName("comentari");
	var valform = document.getElementsByName("formescriure");
	
	var cad = camp2.namedItem('mail').value;
	var arroba = false;
	var punto = false;

	if (camp1.namedItem('nom').value == ""){
		alert(" Introduixca text al camp Nom. ");
		camp1.focus();
		val1 = false;
	}
	
	if (camp2.namedItem('mail').value == ""){
		alert(" Introduixca text al camp E-mail. ");
		camp2.focus();
		val2 = false;
	}
	else{
		var cont = 0;
		while (cont <= cad.length - 1){
			alert(cad);   // veo toda la cadena en los 2 navegadores.
			if (arroba != true){
				alert(cad[cont]);  // con firefox, veo cada elemento y //con ie me da undefined.
				if (cad[cont] == '@'){
					arroba = true;	
					alert(arroba);
				}
			}
			
			if ((cad[cont] == '.') && (arroba == true)){
				var punto = true;
			}
				
			cont++;
		}
		
		alert(arroba + ' - ' + punto);
		
		if ((arroba == true) && (punto == true)){
			if ((val1 == true) && (val2 == true)){
				valform.namedItem('formescriure').submit();
			}
		}
		else
			alert(' Direcció de correu no vàlida. ');
	}
}
  #2 (permalink)  
Antiguo 13/12/2006, 03:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: el mismo codigo me va bien en firefox y no en internet explorer

Hola:

La verdad es que una cadena puede ser un array de caracteres pero no es un array sino un String y la selección de un elemento de la cadena se obtiene con charAt()...


alert(cad.charAt(cont));
if (cad.charAt(cont) == '@'){...

Pruébalo y nos cuentas...

Saludos

Por cierto, bienvenido a los foros
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 13/12/2006 a las 03:18 Razón: Faltaba la bienvenida
  #3 (permalink)  
Antiguo 13/12/2006, 03:43
 
Fecha de Ingreso: noviembre-2006
Ubicación: Alicante
Mensajes: 107
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: el mismo codigo me va bien en firefox y no en internet explorer

Gracias por la bienvenida y por la ayuda, ha ido perfecto. Y aparte he entendido la aclaración sobre cadena, array y string en javascript.

Saludos.
  #4 (permalink)  
Antiguo 13/12/2006, 04:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: el mismo codigo me va bien en firefox y no en internet explorer

Cita:
Iniciado por lagunafmr Ver Mensaje
Gracias por la bienvenida y por la ayuda, ha ido perfecto. Y aparte he entendido la aclaración sobre cadena, array y string en javascript.

Saludos.
¡Magnífico!

Me alegra de que te haya servido.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 05:31.