Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/05/2010, 08:10
lalpizarr
 
Fecha de Ingreso: marzo-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Combos Anidados

Buenos dias amigos, tengo una consulta referente a PHP,JavaScript y HTML, tengo un pequeño formulario con tres combo, dos de ellos son anidados, el primero que contiene los objetos padre lo cargo normalmente pero el segundo por medio de javascript construyo algo parecido a ajax codigo:
<div>
<select name="cmbTipoObjetos" id="cmbTipoObjetos" style="width:373px;" onchange="javascript:cargarCombo('detalleobjeto.ph p', 'cmbTipoObjetos', 'DivDetObjetos',28)">
<option value=" ">--Seleccione una Opcion--</option>
<?php

foreach($ArrCmbTipoObjetos as $row)
{
?>
<option value="<?php echo $row['IdTipo']; ?>"><?php echo $row['Descripcion']; ?></option>
<?php
}
?>
</select>
</div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><strong>Objeto</strong></td>
<td align="left" class="tagTd">&nbsp;
<div id="DivDetObjetos" >
<select name="cmbDetObjetos" id="cmbDetObjetos" style="width:373px;">
<option value="">--Seleccione un tipo de objeto--</option>
</select>
</div>

ese segundo div se carga con el evento onchange del primer combo con este codigo :

JavaScript:
var peticion = false;
var testPasado = false;
try {
peticion = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
peticion = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
peticion = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
peticion = false;
}
}
}
if (!peticion)
alert("ERROR AL INICIALIZAR!");


function cargarCombo (url, comboAnterior, element_id,parametro) {
//Obtenemos el contenido del div
//donde se cargaran los resultados
var element = document.getElementById(element_id);
//Obtenemos el valor seleccionado del combo anterior
var valordepende = document.getElementById(comboAnterior)
var x = valordepende.value
//construimos la url definitiva
//pasando como parametro el valor seleccionado
var fragment_url = url+'?Id='+x+'&slc='+parametro;
element.innerHTML = '<img src="../../images/loading.gif" />';
//abrimos la url
peticion.open("GET", fragment_url);
peticion.onreadystatechange = function() {
if (peticion.readyState == 4) {
//escribimos la respuesta
element.innerHTML = peticion.responseText;
}
}
peticion.send(null);
}
</script>

el me lo carga y me lo pinta bie con los datos que necesito y todo, ahora, el formulario es POST cuando ejecuto el submit de formulario me doy cuenta de que el combo lo carga bien pero le doy ver codigo fuente y no veo el div que acavo de cargar, entonces no puedo capturar el valor del segundo combo porque no aparece