Hola,
Tengo un script php que tiene lo siguiente:
Código PHP:
<?php
$rs_proyecto=mysql_query("select * from Compañia order by Nombre",$cn);
$nr_proyecto=mysql_num_rows($rs_proyecto);
echo "<select name='cbocompania' class='Estilo41' style = 'width:150px' onchange='Carga_Type(1);'>";
echo "<option value=''>(Choose)</option>";
while($row= mysql_fetch_array($rs_proyecto)) {
$row[1] = htmlentities($row[1]);
echo "<option value='$row[0]'>".$row[1]."</option>";
}
echo "</select>";?>
En el "onchange" llamo a la función Carga_Type(1) y aquí llamo a ajax_prueba.php usando el método GET así:
Código:
function Carga_Type(opcion)
{
// Recibo el número correspondiente al combo que se debe llenar de datos
//var selectAnterior=selectACargar-1; // Obtengo el número del combo que activó el evento onChange
// Extraigo el valor del combo que se ha cambiado
var proyecto = document.frmarea.cboproyecto.value;
var codcompa = document.frmarea.cbocompania.value;
<?php echo ("var user='".$userx."';\n"); ?>
if (opcion==1) {
if (codcompa!=0)
{
ajax=nuevoAjax();
// Envio al servidor el valor seleccionado y el combo al cual se le deben poner los datos
ajax.open("GET","ajax_prueba.php?compa="+codcompa+"&opcion="+opcion+"&proy="+proyecto+"&user="+user+"", true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Elige" y pongo una que dice "Cargando"
elemento=document.getElementById("cboproyecto");
elemento.length=0;
//var opcionCargando=document.createElement("option"); opcionCargando.value=0; opcionCargando.innerHTML="Searching...";
//elemento.appendChild(opcionCargando); elemento.disabled=true;
}
if (ajax.readyState==4)
{
// Coloco en la fila contenedora los datos que recibo del servidor
alert(codcompa);
alert(ajax.responseText);
//document.getElementById('fila_3').innerHTML=ajax.responseText;
//alert(document.getElementById('fila_3').innerHTML);
}
}
ajax.send(null);
} else {
elementox=document.getElementById("cboproyecto");
elementox.length=0;
var opcionCargandox=document.createElement("option"); opcionCargandox.value=0; opcionCargandox.innerHTML="---";
elementox.appendChild(opcionCargandox); elementox.disabled=true;
}
} //Fin Opcion 1
}
ajax_prueba.php tiene lo siguiente:
Código PHP:
?php
include("conexion.php");
$cn=Conectar();
$proyecto=$_GET["proy"];
$xcompa=$_GET["compa"];
$userx = $_GET['user'];
//Llena combo de Types dinámicamente
if ($_GET['opcion']==1)
{
$rs_type=mysql_query("select P.Id_Proyecto, P.Nombre
from Proyecto P
inner join Compañia_Proyecto CP
on P.Id_Proyecto = CP.Id_Proyecto
inner join Compañia C
on CP.IdCompañia = C.IdCompañia
where C.IdCompañia=" .$xcompa. "
and P.Id_Proyecto NOT IN (select Id_Proyecto from Usuario_Proyecto where User_Id='".$userx."')");
echo "<select class='combo' id='cboproyecto' name='cboproyecto' style='font-size:12px; font-family:Arial,Helvetica,sans-serif; width:150px'>";
while($row= mysql_fetch_array($rs_type)) {
$row[1]=htmlentities($row[1]);
echo ("<option value='".$row[0]."'>".$row[1]."</option>");
}
echo "</select>";
}?>
El problema está cuando quiero mostrar el
alert(ajax.responseText); en IE me muestra diferentes errores como: Parse error, syntax unexpected '>' y no ejecuta nada Sin embargo en Mozilla todo funciona bien Qué estoy haciendo mal?? Gracias, espero su ayuda