Tengo un botón echo en PHP (por el tema de las variables y algunas condiciones) que me ejecuta dos funciones: una para javascript('carrito') y otra para ejecutar AJAX('traerDatos'):
Código PHP:
Ver original
echo "<div id='compra'><img src='botonComprar.gif' class='compra' onclick='carrito(\"$articulo\",$precio_articulo); traerDatos(\"$articulo\",$precio_articulo);'/></div>";
Si se hace clic sobre ese botón se ejecuta la función de AJAX cuyo código es el siguiente:
Código Javascript:
Ver original
function nuevoAjax() { var xmlhttp=false; try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { xmlhttp=false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } return xmlhttp; } function traerDatos(articulo, precio){ var capaCarrito=document.getElementById('compra'); var ajax=nuevoAjax(); capaCarrito.innerHTML="<center><img src='AJAX/circuloAnimado.gif'></center>"; ajax.open("POST", "gestionarCarro.php", true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send("articulo="+articulo+"&precio="+precio); ajax.onreadystatechange=function(){ if(ajax.readyState==4 && ajax.status==200){ capaCarrito.innerHTML="<div id='compra'><img src='botonComprar.gif' class='compra' onclick='carrito(\"$articulo\",$precio_articulo); traerDatos(\"$articulo\",$precio_articulo);'/></div>"; } } }
Se comunica bien con PHP, hace lo que tiene que hacer, mientras que lo hace, el usuario puede ver el 'circuloAnimado.gif', pero cuando termina, no me coloca el mismo botón de forma que una vez echo, aunque se vuelva a dar clic ni ejecuta la función de Javascript ni la da AJAX. Es la primera vez que hago esto, pero ¿cómo se puede volver a poner el mismo botón que estaba antes de la imagen de carga?.
Gracias.