Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2010, 10:35
Gleomar
 
Fecha de Ingreso: agosto-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Misma Funcion Ajax para varios Div con nombre parecido

Buenos días.

Una vez mas recurro a uds por ayuda.

Me encuentro haciendo una app en la cual al seleccionar de una lista un producto me liste en otra lista la unidad de venta basica de ese producto.

mi lista de productos es esta :

<select name="pedido0" id="pedido0" onchange="if (formulario.pedido0.value) { leerUmb(formulario.pedido0.value,0,'umb0');}">
<option value="NULL">-- Seleccione el producto que desea --</option>
<?php
include "CargarArchProductos.php"; //archivo que tiene los productos en formato <option value="$codigo">$nombre</option>
?>
</select>

en el onchange, voy a la funcion en javascript llamada leerUmb que cargara las unidades de venta.

tengo un select "falso" en un Div en el cual se listaran las unidades de venta.
<div id="umb0">
<select name="falso0" id="falso0">
<option value="NULL">-- Seleccione UMB--</option>
</select>
</div>

la función listarUmb es la que sigue :

function leerUmb(valor,posicion,capa) {
crearObjeto(); //objeto ajax
if (objeto.readyState != 0) {
alert('Error al crear el objeto XML. El Navegador no soporta AJAX');
} else {
// Enviar la consulta
objeto.open("GET", "ListarUmb.php?Producto=" + valor+"&Posicion="+posicion, true);

// Preparar donde va a recibir el Resultado
objeto.onreadystatechange = procesaResultado2(capa);
objeto.send(null);
}
}

la funcion procesaResultado2(capa) es :

function procesaResultado2(capa) {
// Si aun esta revisando los datos...
if (objeto.readyState == 1) {
document.getElementById(capa).innerHTML = "Cargando datos...";
//document.getElementById('umb_'+posicion);//tomo el valor del segundo input
}
// Si el estado es 4 significa que ya termino
if (objeto.readyState == 4) {
// objeto.responseText trae el Resultado que metemos al DIV document.getElementById(capa).innerHTML = objeto.responseText;
}
}

si se fijan en el valor capa le estoy pasando 'umb0' que es el nombre del div en donde quiero que se muestre.

mi codigo se queda mostrando "Cargando datos..." en dicho div, y me sale el icono de errores en la pagina y dice "Type mismatch".

llevo dias dandole a la cabeza con esto, intente pasarle el valor "capa" que dijera 'umb'+i siendo i un contador, esto para no tener que hacer una funcion por cada fila en mi tabla de productos y me da el mismo error

si alguien tiene alguna idea de que tengo mal, se lo agradecería mucho

saludos.