Hola, tengo un problema que no sé solucionar, y que me da el siguiente error según la consola de Chrome: "Uncaught TypeError: Cannot set property 'innerHTML' of null"
Tengo esto en el código:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
function like(userid, peliid, mddcartel)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(mddcartel).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET", "like.php?uid="+userid+"&pid="+peliid, true);
xmlhttp.send();
}
</script>
</head>
<body>
<?php
$gusta = FALSE;
$userid = "1";
$peliid = "3";
$mddcartel = md5($peliid);
echo "<div id='$mddcartel'>";
echo "<a href='#' onclick='like($userid, $peliid, $mddcartel) '>Me gusta</a>";
echo "</div>";
?>
</body>
</html>
Total, que tengo un div con nombre variable (aquí no, pero en el completo sí). Le paso a la función like el nombre de ese div como tercer parámetro, y se lo pongo en la función ajax a
"document.getElementById(mddcartel).innerHTML=xmlhttp.responseText;" Pero no me coge eso de "mddcartel" como una variable, sino como el nombre del div, y yo no quiero eso. Si cambio la línea esa y donde pone mddcartel pongo el nombre del div entre comillas me va bien.
Un saludo y gracias de antemano!