2011-07-10 5 views
0

Je pense qu'il y a un moyen de faire cela dans ajax. Mais si vous avez un meilleur moyen s'il vous plaît faites le moi savoir.Obtenir ajax réponse instantanée

Je possède ce code:

 $interactionBox= '<input type="button" value="Pending Friend Requests('.$num_rows.')" onclick="return false" onmousedown="javascript:toggleInteractContainers(\'friend_requests\');"/>'; 

Ce code ouvre une boîte de togle où l'utilisateur peut accepter des amis s'il y a une demande en attente. Donc, si le bouton ressemble à ceci:

Pending Friend Request(1) 

et l'utilisateur accepte que l'utilisateur demande doit actualiser la page pour cela pour montrer que:

Pending Friend Request(0) 

Est-il possible de le faire sans rafraîchir la page en utilisant ajax ou de toute autre manière?

est ici HTML pour le code ci-dessus:

<div class="interactContainers" id="add_friend"> 
      <div align="right"><a href="#" onclick="return false" onmousedown="javascript:toggleInteractContainers('add_friend');">cancel</a> </div> 
      Add <?php echo $username; ?> as a friend? &nbsp; 
      <a href="#" onclick="return false" onmousedown="javascript:addAsFriend(<?php echo $req_user_id; ?>, <?php echo $username_id; ?>);">Yes</a> 

Répondre

0

Vous pouvez juste obtenir la valeur entre parenthèses avec JavaScript puis réduire de 1, Vous pouvez obtenir cette valeur (si ce n'est pas obtenir une variable via regexpresion:

var button = document.getElementById('buttonid'); // fill in the id 
button.value = "Pending Friend Requests("+ (parseInt(button.value.match(/\d{1,10}/)) - 1) + ')'; 

juste excute après chaque accepter (ou non-accept)

Note y Vous devriez simplement utiliser la fonction dans onclick, ce n'est pas un lien, donc il ne fera qu'excuter le bit javacript: donc non onmousedown juste onclick="javascript:toggleInteractContainers(\'friend_requests\');"

look ma: non jQuery!