Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 08-nov-2006, 17:32   #1 (permalink)
mafima está en el buen camino
 
Avatar de mafima
 
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 939
el objeto no acepta la propiedad ERROR

buenas estoy haciendo con ajax ( es lo primerito que hago ) dos formularios uno depende del otro, (El tipico PAIS - REGION y cuando seleccionan el pais mee muestra las regiones) lo hago con AJAX y PHP los datos de los paises y las regiones los extraigo de una base de datos.

Y me esta sacando un error muy curioso:

1. CUando entro a la pagina y selecciono el pais, automaticamente me carga las regiones de ese pais, que alegria, sin embargo cuando voy a selecciono otro pais me sale un error Javscript que dice :
El objeto no acepta esta propiedad o metodo.

en la linea 34 CAR 2

esa linea tiene lo siguiente:
_objetus=objetus();

es decir es cuando instancio el objeto.

Me parece muy curioso por que funciona bien la primera ves y no al segunda... ( lo he comprobado por que si recargo la pagina e intento, entonces me funciona, pero luego trato de intentar y no me funciona)

haber si ustedes em pueden ayudar en esta eta exploratoria de AJAX

Les dejo el codigo javscript que estoy ejecutando:

Código HTML:
<script language="javascript">
 function objetus() {
   try 
   {
      objetus = new ActiveXObject("Msxml2.XMLHTTP");
   } 
   catch (e) 
   {
      try 
      {
         objetus= new ActiveXObject("Microsoft.XMLHTTP");
      } 
      catch (E) 
      {
         objetus= false;
      }
   }
   
  if (!objetus && typeof XMLHttpRequest!='undefined') 
  {
     objetus = new XMLHttpRequest();
  }
  return objetus
}

function consulta_regiones(id,form)
{
    //creamos el objeto
    
	_objetus=objetus();
    
	//cargamos una varible con las variables que vamos a enviar
    _values_send="funcion="+id
    _URL_="/inc/funciones/consulta_regiones.php?"
    _objetus.open("GET",_URL_+"&"+_values_send,true);
        //una vez enviado los valores inmediatamente llamamos a la propiedad 
        //onreadystatechange
    _objetus.onreadystatechange=function() {
                //dentro de la funcion comprobamos el estado del proceso
                //si es 4 (terminado) pedimos lo que nos han mandado
        if (_objetus.readyState==4)
        {
                //usamos la propiedad responseText para recibir en una cadena
                //lo que nos mandaron
            var ojos= _objetus.responseText;
			eval(ojos);
        }
    }
    //obligatorio .... luego explicarè el porque
	_objetus.send(null);
	
}
</script>
El codigo lo saque de esta pagina: http://leimnud.info/view.php? dejo los comentarios del autor para que se guien
__________________
hotel
Derecho

Última edición por mafima; 08-nov-2006 a las 17:34. Razón: poner cita
mafima está desconectado   Responder Citando
Antiguo 08-nov-2006, 17:46   #2 (permalink)
mafima está en el buen camino
 
Avatar de mafima
 
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 939
OK encontre la respuesta y quiero postear como lo solucione:

resulta que el rpoblem aestaba en la funcion generica que utilizaba para instancear el objeto es decir la funcion llamada OBJETUS, esa funcion la encontre en un sitio ( lo emncione al final del post anterior ) pero parece que no andaba bien, ahora he encontrado otra y parece que marcha bien, no se en si cual es el problema pero aqui pego los cambios que hice, si alguien entiende por que no me funcionaba la primera le agradeceria que me lo explicara:

FUNCION BUENA:
Código HTML:
function iniciar() {
    try {
    	aopen = new XMLHttpRequest();
    } catch (e) {
           try {
            	aopen = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (E) {
            	try
            	{
            		aopen = new ActiveXObject("Microsoft.XMLHTTP");		
            	}
            	catch(e)
            	{
                	aopen = false;
                }
            }
   }
   return aopen;
}
luego solo cambie en mi script de la funcion consulta_regiones():
_objetus=iniciar();

y ya va muy bien..

Muchas gracias
__________________
hotel
Derecho
mafima está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:21.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93