Hola que tal!
Tengo un problema con mi codigo y ajax en todos los navegadores excepto en IE, es una forma creada de forma dinamica que inserta datos, dentro de esta forma, tengo varios elementos select, que son los que implemente con ajax; cuando elijo un combo, el sig se llena con la informacion que le pertenece al previamente elegido, no tengo problemas con eso, pero al enviar mi forma el valor de combo creado mediante ajax no aparece
...
nuevoReq.php
Código PHP:
<script language="JavaScript" type="text/javascript">
<!--
function Prov(i){
contenedor = document.getElementById('cargaProveedor'+i);
d1 = document.getElementById('cc'+i).value;
ajax=nuevoAjax();
ajax.open("GET", "xnuevoReq.php?d1="+d1+"&d2="+i,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
contenedor.innerHTML = ajax.responseText
}
}
ajax.send(null)
}
</script>
<form name="forma" action="<?= $PHP_SELF ?>" enctype="multipart/form-data" method="post">
<tr>
<td width="170" align="right" bgcolor="#D2D7DF">Tipo de Proveedor : </td>
<td>
<select name="tipo[]" id="cc<?=$i?>" class="obliga" onChange="javascript:Prov(<?=$i?>)">
<option value="-99">--Seleccione--</option>
<? for($j=0; $j<$lista; $j++){
$datoCat = mysql_fetch_array($qryCat);
<option value="<?=$datoCat[0]?>"> <? print"$datoCat[1]";?></option>
<? }//fin for ?>
</select></td></tr>
<tr>
<td align="right" bgcolor="#D2D7DF">Nombre del Proveedor :</td>
<td id="cargaProveedor<?=$i?>">
<select name="nom<?=$i?>" class="obliga" id="ccp<?=$i?>">
<option value="-99">--Seleccione--</option>
<? for($k=0; $k<$filasProv; $k++){
$datoProv = mysql_fetch_array($restProv);
<option value="<?=$datoProv[0]?>"><? print"$datoProv[1]";?></option>
<? }//fin for ?>
</select>
</td></tr>
</form>
xnuevoReq.php
Código PHP:
if(isset($_GET["d1"]))
{
$tipo = (int)$_GET["d1"];
$i = (int)$_GET["d2"];echo "i = $i";
$qryProv = "SELECT id,nombre,categoria FROM cemla_proveedor WHERE categoria = $tipo ORDER BY nombre";
$restProv = mysql_query($qryProv);
$filasProv = mysql_num_rows($restProv);
echo'
<select name="nom'.$i.'" class="obliga" id="ccp'.$i.'">
<option value="-99">--Seleccione--</option>';
for($k=0; $k<$filasProv; $k++){
$datoProv = mysql_fetch_array($restProv);
echo'
<option value="'.$datoProv[0].'" >'.$datoProv[1].'</option>';
}
echo'</select>';
############################
# Termina AJAX
}
Al hacer el envio de los datos, lo que obtebgo en IE es:
Código:
Array ( [tipo] => Array ( [0] => 2 ) [nom0] => 2 [concepto] => Array ( [0] => fgdggfd ) [monto] => Array ( [0] => 432423 ) [divisa] => Array ( [0] => dolar ) [cantdol] => Array ( [0] => 0 ) [obs] => Array ( [0] => dsdfdf ) [categ] => si [filas] => 1 [a] => 2007 [Submit] => Requerir )
Y lo que obtengo en cualquier otro navegador es:
Código:
Array ( [tipo] => Array ( [0] => 2 ) [concepto] => Array ( [0] => fgdggfd ) [monto] => Array ( [0] => 432423 ) [divisa] => Array ( [0] => dolar ) [cantdol] => Array ( [0] => 0 ) [obs] => Array ( [0] => dsdfdf ) [categ] => si [filas] => 1 [a] => 2007 [Submit] => Requerir )
PD(Alguien me dijo que quiza el problema es por el <?= $PHP_SELF ?>)
Agradeceria mucho su ayuda!
Gracias.