Javascript i ajax-side
Hej, lidt tricky spørgsmål - så jeg smider 200 point :-) Bliver nok også lidt tricky at forklare, men here goes...Ok, på min side, brugere.php, har jeg har en række bruger-kategorier. Hver kategori indeholder en række brugere. Jeg vælger brugerkategorien i en select som kalder listen af brugere via et ajax-kald, så listen opdateres uden at siden genloades, hvis jeg vælger en anden kategori i select'en. Listen ligger i et div, som en helt anden php-side genererer; vis_brugere.php.
Til dette bruger jeg:
1) Min select: onclick="showUser(this.value)"
2) showUser-kode:
---
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
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("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","lookup_processing.php?user_id="+str,true);
xmlhttp.send();
}
---
3) Vises i: <div id="txtHint"></div>
- det er taget herfra (eneste forskel er at jeg bruger onclick):
http://www.w3schools.com/PHP/php_ajax_database.asp
Godt - så langt så godt - den viser altså min liste over brugere i min kategori. Nu ønsker jeg igen at bruge ajax til at slette brugeren.
Her bruger jeg jquery.js. Det er taget herfra:
http://www.9lessons.info/2009/07/delete-records-with-random-animation.html
1) Mit link ser således ud:
<a href='#' del_user_id='".$row1["user_id"]."' del_role_id='".$role_id."' class='delbutton'>
2) Kode:
---
<script type="text/javascript">
$(function() {
$(".delbutton").click(function(){
var element = $(this);
var del_user_id = element.attr("del_user_id");
var del_role_id = element.attr("del_role_id");
var info = 'id=' + del_user_id +'&role_id=' + del_role_id + '&course_contextid=<?php echo $course_contextid; ?>';
if(confirm("Vil du fjerne brugeren fra kurset?"))
{
$.ajax({
type: "GET",
url: "delete.php",
data: info,
success: function(){
}
});
$(this).parents(".record").animate({ opacity: "hide" }, "slow");
}
return false;
});
});
</script>
---
Ok - og nu er vi nået til spørgsmålet :-)
Hvis jeg klikker på mit slet-link på brugere.php, sker der intet. Ser jeg til gengæld på vis_brugere.php - der godt kan ses alene via vis_brugere.php?user_id=[ID] - så virker det fint. Det virker med andre ord ikke, når vis_brugere.php er en integreret del af brugere.php.
Er der mon en, der lige kan gennemskue, hvordan de to ajax-ting kan lege sammen her? :-)
