Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Ajax no funciona

Estas en el tema de Ajax no funciona en el foro de Frameworks JS en Foros del Web. Hola dentro de un iframe estoy tratando de cargar las provincias que tengo dependiendo del pais, la idea es la siguiente dentro del iframe tengo ...
  #1 (permalink)  
Antiguo 29/08/2007, 03:27
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 21 años, 5 meses
Puntos: 2
Ajax no funciona

Hola dentro de un iframe estoy tratando de cargar las provincias que tengo dependiendo del pais, la idea es la siguiente dentro del iframe tengo una pagina y dentro de esta pagina cargo el formulario con un include, en el formulario pongo:

Código PHP:
</td><td colspan="3" valign="middle">

                    <select name="idpais" class="formularios3">

                    <?php
                    $result 
mysql_query($sql,$con) or die ("problema con query: ".mysql_error());
                    
                    while(
$row mysql_fetch_array($result))
                    {
                        
$id_pais $row['id_pais'];
                        
$pais =  $row['pais'];

                        if(
$idpais != '' or $idpais != null)
                        {
                            if(
$id_pais == $idpais)
                            {
                                
?>
                                    <option selected value="<?php echo $id_pais?>" onChange="cargar_contenido('provincia', 'provincias.php?idpais=<?php echo $id_pais?>');"><?php echo $pais?>
                                    </option>
                                <?php
                            
}                        
                        }                        
                    
?>    
                    
                    <option value="<?php echo $id_pais?>" onChange="cargar_contenido('provincia', 'provincias.php?idpais=<?php echo $id_pais?>');"><?php echo $pais?></option>
                    
                <?php
                    
}
                
?>
                 </select>
                                        
                </td></tr>
                <tr><td height="25" valign="middle" style="padding-left:20px;">
                
                    <span class="formularios2">Provincia:</span>
                    
                </td><td colspan="3" valign="middle">

                    <div id="provincia">
                        <select name="provincia" class="formularios3">
                        </select>
                    </div>                    
                
                </td></tr>

provincias.php

Código PHP:
<?php 
    $idpais 
$_GET['idpais'];
?>
<select name="provincia" class="formularios3">

    <?php
        $sql1 
"select * from provincies where id_pais = ".$idpais;
        
$result1 mysql_query($sql1,$con) or die ("problema con query 1: ".mysql_error());
                
        while(
$row1 mysql_fetch_array($result1))
        {
            
$idprovincia $row1['id_provincia'];
            
$provincia =  $row1['provincia'];                    
    
?>

    <option value="<?php echo $idprovincia?>"><?php echo $provincia?>
                
    <?php
        
}
    
?>
</select>
y en la pagina q carga el iframe tengo:

Código HTML:
<script src="ajax.js" language="JavaScript"></script> 


por ultimo el archivo ajax.js

Código HTML:
<script language="Javascript" type="text/javascript">
<!--

var http_request = false;

function makeRequest(rutas)
{
	http_request = false;

	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) 
		{
			http_request.overrideMimeType("text/xml");
			// Ver nota sobre esta linea al final
		}
	}	
	else if (window.ActiveXObject) 
	{ // IE
		try 
			{
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} 
		catch (e) 
		{
			try 
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) 
			{
			}
		}
	}

	if (!http_request) 
	{
		alert("ERROR :( No es posible crear una instancia XMLHTTP");
		return false;
	}
	http_request.onreadystatechange = alertContents;
	http_request.open("GET", rutas, true);
	http_request.send(null);

}

function alertContents() 
{

	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			alert(http_request.responseText);
		} 
		else 
		{
			alert("Hubo problemas con la petición.");
		}
	}

}

function XHConn()
{
	var xmlhttp, bComplete = false;
	try 
	{ 
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch (e) 
	{ 
		try 
		{ 
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		}
		catch (e) 
		{ 
			try 
			{ 
				xmlhttp = new XMLHttpRequest(); 
			}
			catch (e) 
			{ 
				xmlhttp = false; 
			}
		}
	}
	if (!xmlhttp) return null;
	this.connect = function(sURL, sMethod, sVars, fnDone)
	{
		if (!xmlhttp) return false;
		bComplete = false;
		sMethod = sMethod.toUpperCase();
			
		try 
		{
			if (sMethod == "GET")
			{
				xmlhttp.open(sMethod, sURL+"?"+sVars, true);
				sVars = "";
			}
			else
			{
				xmlhttp.open(sMethod, sURL, true);
				xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
				xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			}
				
			xmlhttp.onreadystatechange = function()
			{
				if (xmlhttp.readyState == 4 && !bComplete)
				{
					bComplete = true;
					fnDone(xmlhttp);
				}
			};
					
			xmlhttp.send(sVars);
		}
		catch(z) 
		{	
			return false; 
		}
		return true;
	};
	return this;
}

function cargar_contenido(capas, rutas) 
{ 

	alert("HOLAAAAAAAAAAAAAAAAAAAA!!!!");
	var capas = capas;
	//document.getElementById(capas).innerHTML = 'Cargando...'; 
	var myConn = new XHConn(); 
	if (!myConn) alert("XMLHTTP no esta disponible. Inténtalo con un navegador más actual.");
	
	var peticion = function (oXML) 
	{	
		var cap = document.getElementById(capas);
		
		if(oXML.readyState == 4)
		{
		cap.innerHTML = oXML.responseText; 
		} 
		else 
		{
			//cap.innerHTML = 'Cargando...<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="5" height="5"><param name="movie" value="spinner.swf" /><param name="quality" value="high" /><embed src="spinner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="5" height="5"></embed></object>';
			cap.innerHTML = 'Cargando...';
		}
	}; 
	myConn.connect(rutas, "GET", "", peticion); 
}

//-->
</script> 

pero no hace nada, tampoco el javascript presenta ningun error es como si no fuese a buscar el ajax.js cuando selecciono el pais

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #2 (permalink)  
Antiguo 29/08/2007, 08:06
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
De acuerdo Re: Ajax no funciona

Hola bichomen...

Pues mira bichomen, yo la verdad de AJAX, no sè es nada.... ni un reberendo pepino, pero si te puedo asegurar que el còdigo que te voy a pasar funciona por que yo lo he implementado... y me funciona de perlas...

El còdigo lo saque de esta página.

De todas formas, avìsame si no lo logras y te pasò el còdigo de la pàgina donde lo tengo implementado. Mìrala.

Saludos y suerte
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
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 20:20.