Search code examples
phpjavascriptfacebookfbjs

Facebook Application FBJS help using setInnerXHTML + array


I have a canvas Facebook application, I have all user friends in JS array, and I want to show user friends picture + name one after one, after clicking NEXT button, the code i written is not working :

<script> 
<!-- 
var friends = new Array(); //Friends Array
<?php
for($i=0; $i<= $limit; $i++) //Add to JS array all friends id's from PHP array
{
echo 'friends['.$i.'] = '.$appfriends[$i][uid].';';
}
?>

/*
I'm passing to this function the first Array --> 0 to increment it each time Next Friend clicked, and show the next friend picture then change Next Friend URL with the next friend Array Key
*/

function get_friends(id){ 
var fid;
fid = id++;
var fid_img = "<img src=\"https://graph.facebook.com/"+friends[fid]+"/picture\"/>";
var fid_link = "<a href=\"#\" onclick=\"get_friends("+fid+"); return false;\">Next Friend</a>";

//Changing Friend Image
document.getElementById('show_friends').setInnerXHTML(fid_img);

//Changing Next Friend URL
document.getElementById('next_friend').setInnerXHTML(fid_link);
}
//--> 
</script>

<div id="show_friends">
<img src="https://graph.facebook.com/<?php echo $appfriends[0][uid];?>/picture"/>
</div>

<br>

<span id="next_friend"><a href="#" onclick="get_friends(0); return false;">Next Friend</a></span>

FBJS Documentation : http://developers.facebook.com/docs/fbjs

Sorry for my bad english. Thanks in advance!


Solution

  • I solved the problem, to create an Array using FBJS you have to use

    <script> 
    <!--
    var arrayname = [];
    
    //instead of
    
    var arrayname = new Array;
    //--> 
    </script>