2011-09-14 12 views
0

これを動作させるには、何か助けが必要です。それは動作しますが、私は好きなボタンの側でクリックしなければなりません。 iframeがクリックされたときにクリックを登録します。私はiframeにもonclickを設定しようとしましたが、どちらもうまくいきませんでした。onclickのPHP&AJAX問題

これは、ページの上部にある私のスクリプトです:

<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> 

はその後イムが出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