2011-09-14 85 views
0

我需要一些幫助才能使其工作。它的工作原理,但我必須點擊類似按鈕的一側。我希望它在單擊iframe時註冊點擊。我嘗試在iframe中設置onclick,但那也不起作用。PHP&AJAX與onclick問題

這是我在頁面頂部腳本:

<script type="text/javascript"> 
function updateLikes(id) { 
var ajax; 

// Code for IE7+, Firefox, Chrome, Opera, Safari 
if (window.XMLHttpRequest) { 
    ajax=new XMLHttpRequest(); 
} else { // code for IE6, IE5 
    ajax=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

ajax.onreadystatechange=function() 
{ 
if (ajax.readyState==4 && ajax.status==200) 
{ 
document.getElementById("images0").innerHTML=ajax.responseText; 
} 
} 

ajax.open("POST","update_likes.php", false); 
ajax.send("image_id=" + id); 

} 
</script> 

再有就是IM echo'ing什麼:

 echo ' 
     <div align="center" class="images" id="images'.$i.'"> 
     <a class="image" border="0" href="p.php?id='.$row['id'].'"> 
     <img class="img" src="'.$row['path'].'" alt="image" /> 
     </a> 
     <div class="meta" style="padding-bottom:5px;">Lastet opp av <div style="color:#47a09f; display:inline;"><a href="user.php?user='.$row['uploader'].'" style="color:#47a09f;">'.$row['uploader'].'</a></div></div> 
     <div id="likebutton" class="faceLike" align="center" onClick="updateLikes(' . "'" . $row['id'] . "'" . ');"><iframe src="//www.facebook.com/plugins/like.php?app_id=144501772249167&amp;href=http://www.puffys.net/p.php?id='.$row['id'].'&amp;send=true&amp;layout=button_count&amp;width=0&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:21px;" allowTransparency="true"></iframe></div> 

     </div> 
     '; 

我的問題是Facebook的按鈕。當我點擊它時,我希望它用onclick註冊點擊,所以它被插入到我的數據庫中。但是這並沒有發生。只有當我點擊類似按鈕的一側時。

Thx提前。

+2

使用jQuery作爲第一步 – dynamic

回答

1

由於來自IFRAME的文檔ONCLICK事件先於它,您將無法捕獲DIV的單擊事件。

此外,您將無法捕獲IFRAME的單擊事件,因爲它被目標頁面覆蓋。

您需要使用Facebook API,如下所述:Facebook "Like" button callback