Buenos días, no tengo mucha experiencia con JavaScript o Ajax por lo tanto es un poco complicado lo poco que he encontrado en Internet. Mi problema es el siguiente: tengo una BD de productos, ya estoy mostrando esos productos en pantalla, la idea es que quiero que al dar clic sobre cada producto se abra una ventana modal para que no se vaya a otra página, ya desarrolle todo, pero no se porque siempre me pasa el mismo ID a la ventana Modal, coloco parte del código. Mil gracias por su ayuda. (En negrila coloco el código clave y donde creería que es la falla)
desde este archivo que se llama productos.php hago el llamado a la modal:
echo("<div align='center'>**<a href='javascript:void()' onclick='mostrareldiv();' data-idusuario=".$row["Codigo"]." id='miventana' **style='text-decoration:none;'><img src='imagenes/boton2MINI.jpg' width='124' height='17' ></a></div>");
echo(" <div id='fade' class='overlay' >
<div id='light' class='modal'>
<div id='msgcomun'>
<span class= 'msgdoscomun'>Producto</span>
<a class='closemodal' href = 'javascript:void()' onclick = 'ocultareldiv() '> X </a>
</div>
<div id='respuesta'></div>
</div>
</div> ");
Cuando doy clic en la imagen se abre la ventana Modal sin problema y me lleva un ID, pero siempre el mismo (si estoy recorriendo la BD, hice la prueba sin Modal y me envía a otra página el ID que es..)
Código del archivo ventanamodal.js
function mostrareldiv() {
var httr = new XMLHttpRequest();
var url = "ampliacion.php";
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block';
**var id = document.getElementById("miventana").dataset.idusuario; **
alert(id);
var variables = "idusuario="+id;
httr.open("POST",url,true);
httr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httr.onreadystatechange = function()
{
if(httr.readyState == 4 && httr.status == 200)
{
var respuesta = httr.responseText;
document.getElementById("respuesta").innerHTML = respuesta;
}
}
httr.send(variables);
document.getElementById("respuesta").innerHTML = "procesando";
}
function ocultareldiv() {
document.getElementById('light').style.display='none';
document.getElementById('fade').style.display='none';
}
en ampliacion.php
$idusuario = $_POST['idusuario'];
echo $retVal = (!isset($idusuario) ) ? "No se ha recibido dato ": " su id es ". $idusuario ;
Donde me muestra siempre el mismo ID.
Mil gracias pro su ayuda, espero me puedan ayudar con esto.
Saludos