Я работаю над системой голосования в AJAX и PHP, и у меня возникли проблемы. Мы показываем кучу сообщений из нашей базы данных, и у каждого сообщения есть изображение рядом с ним – щелчок изображения должен быть 1) переключать цвет изображения, а затем 2) использовать AJAX для вызова PHP-скрипта, который затем решает, добавлять ли или вычесть голосование. У меня есть изображение, которое работает, но я не уверен, как сделать следующую часть. Каков наилучший способ сделать это?
Это цикл while, который выводит сообщения:
while($row = mysql_fetch_array($result)) { ?> <li class = "post"> <a href = "#" onclick = "return toggle(this,'heart<?php echo $row['post_id'];?>')"><img name = "heart<?php echo $row['post_id'];?>" src = "/images/heart.png" class = "thumbnail" width = "15" /></a> <p class = "title"><img class = "favicon" width = "16" height = "16" src = "<? echo $row['favicon']; ?>" /><a href = "<? echo $row['post_url']; ?>" target = "_blank"><? echo $row['post_title']; ?></a></p> <p class = "postinfo">posted <? echo doRelativeDate( $row['date'] ); ?> by <a href = "<? echo $row['blog_url'];?>"><? echo $row['blog_name']; ?></a> </li> <? } ?>
"src =" /images/heart.png "class =" thumbnail "width =" 15 " id="voteImage
/>
добавьте один ID к своему изображению. catch click event на этом Id с помощью любой инфраструктуры javascript.
Я приводил пример в jQuery.
jQuery("#voteImage").live("click",function(){ var imageName = jQuery(this).attr('name'); var postId = imageName.substr(5); //Here you will have post Id because remove heart from heart20 //now you can hit ajax call to your vote-up or vote-Down php with postId jQuery.ajax({ type: 'POST', url: baseURI+'voteup.php', data:"postId="+postId, cache: false, success: function(result) { //perform further action like give alert to user that action performed } }); }