Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2009, 02:12
musashirsca
 
Fecha de Ingreso: mayo-2009
Mensajes: 18
Antigüedad: 15 años, 11 meses
Puntos: 0
Problema con Ajax,formularios y php.

[CODE]Tengo una pagina donde al pulsar un valor de un desplegable me filtra el desplegable posterior pero al pulsar el submit no me devuelve ningun valor, la pagina esta compuesta por la pagina principal, la pagina ajax y la pagina que contiene los desplegables que se pasan a travez de un include, Aqui os dejos las paginas:

modificar.php

Código:
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
<table width="486" border="0" align="center">
		<form action= "modificar.php" method="get" accept-charset="UTF-8" >

		<tr bgcolor="#DEE9FA"><td><strong>Ubicación:</strong></td><td id="desp1"><select name="ubicacion"></select> </td></tr>
		<tr bgcolor="#DEE9FA"><td bgcolor="#FFFFFF"><strong>Planta:</strong></td>
		<td bgcolor="#FFFFFF" id="desp2"><select name="planta"></select></td>
		</tr></table>
		</form>

ajax.as

Código:
var Conexion=false;
var Servidor="desplegable.php";
function Conectar()
{
	if(window.XMLHttpRequest)
		Conexion=new XMLHttpRequest();
	else if(window.ActiveXObject)
		Conexion=new ActiveXObject("Microsoft.XMLHTTP"); 
}

function Contenido(idContenido)
{
	
	if(Conexion.readyState!=4) return;
	
	if(Conexion.status==200) 
	{
		document.getElementById(idContenido).innerHTML=Conexion.responseText;
	}else{
		document.getElementById(idContenido).innerHTML=Conexion.status+"-"+Conexion.statusText;
	}
	
	Conexion=false;
}

function Solicitud(Parametro,idContenido)
{
	if(Parametro)
	{
		if(Conexion) return; 
		Conectar();
		if(Conexion)
		{
			Conexion.open("GET",Servidor+"?show="+Parametro,true);
	
			Conexion.onreadystatechange=function()
			{
				Contenido(idContenido);
			}
			
			Conexion.send(null);
		}else
			document.getElementById(idContenido).innerHTML="No disponible";
	}else
		document.getElementById(idContenido).innerHTML="";

}

window.onload=function()
{
	Solicitud("desplegableInicial","desp1");
}

desplegable.php
Código:
<?
include("conexion.inc.php"); 
if($_GET["show"]=="desplegableInicial")
{
	echo "<select name='ubicacion' onchange=\"javascript:Solicitud(this.value,'desp2')\">";
	$resultubicacion= mysql_query("SELECT `Ubicacion`,`Codigo Planta` FROM `ubicacion` where `Codigo Planta`='".substr($ubicacion,0,2)."'",$conexion);
	if(!resultubicacion) {
		die("error:" .  mysql_error());
	}
	if (mysql_num_rows($resultubicacion))  {
			while ($opcionesubicacion=mysql_fetch_row($resultubicacion)){
			echo "<option value='".$opcionesubicacion[1]."'>".$opcionesubicacion[0]."</option>";
			}
	}		
	$resultubicacion2= mysql_query("SELECT `Ubicacion`,`Codigo Planta` FROM `ubicacion` ",$conexion);
	if(!resultubicacion2) 
	{
		die("error:" .  mysql_error());
	}
	if (mysql_num_rows($resultubicacion2))  
	{
			echo "<option value=''></option>";
			while ($opcionesubicacion2=mysql_fetch_row($resultubicacion2))
			{
			echo "<option value='".$opcionesubicacion2[1]."'>".$opcionesubicacion2[0]."</option>";
			}
	} 
	echo "</select>";
}else{
	echo "<select name='planta' \"><option value='' selected></option>";
	$resultplanta =mysql_query("SELECT `Planta` FROM `planta` join `ubicacion` using(Ubicacion) where `Codigo Planta`='".substr($ubicacion,0,2)."' and substring(planta,1,2)='".substr($ubicacion,6,2)."'",$conexion);
	if(!resultplanta) {
		die("error:" .  mysql_error());
	}
	if (mysql_num_rows($resultplanta))  {
			while ($opcionesplanta=mysql_fetch_row($resultplanta)){
			echo "<option value='".substr($opcionesplanta[0],0,2)."'>".substr($opcionesplanta[0],3)."</option>";
			}
	}
	$resultplanta= mysql_query("SELECT `Planta` FROM `planta` join `ubicacion` using(Ubicacion) where `Codigo Planta`='".$_GET["show"]."'",$conexion);
	if(!resultplanta) 
	{
	die("error:" . mysql_error());
	}
	echo "<option value=''></option>";
	while ($opcionesplanta=mysql_fetch_row($resultplanta))
	{
	echo "<option value='".substr($opcionesplanta[0],0,2)."'>".substr($opcionesplanta[0],3)."</option>";
	}
	echo "</select>";
}
mysql_close ( ) ;
?>