我正在开设一个像Youtube一样的“有点”的网站。在这里,我在评论的喜欢/不喜欢选项上遇到了麻烦。
我这样做的方法是单击图像(thumbsUp.png和thumbsDown.png)我正在调用js函数(以下是php代码,其中$ enregistrement =注释):
$block .='<img src="'.APP_IMG_PATH.'thumbsup.png" onclick="javascript:addLike('.$enregistrement["Comm_ID"].')" style="width:20px;height:20px"></img> '.$enregistrement["Likes"].' '
. '<img src="'.APP_IMG_PATH.'thumbsdown.png" onclick="javascript:addDislike('.$enregistrement["Comm_ID"].')" style="width:20px;height:20px"></img>'.$enregistrement["Dislikes"].'';
我的js功能是:
$block .='
<script>
function addlike(idCo){
$.ajax({
type: "GET",
url: "'.APP_SERVICE_PATH.'SetComment.php",
data: {Like:1, commID:idCo},
success: function(data){
},
error: function(exc){
alert("Exception: Une erreur a été levé sur $_GET de addLike(). " + exc);
}
)};
}
function addDislike(idCo){
$.ajax({
type: "GET",
url: "'.APP_SERVICE_PATH.'SetComment.php",
data: {Dislike:1, commID:idCo},
success: function(data){
},
error: function(exc){
alert("Exception: Une erreur a été levé sur $_GET de addDislike().");
}
)};
}
</script>';
但onclick从未触发过!我使用<a href="">
标签周围的<img>
标签,它可以工作,但每次点击都会重新加载页面,这是我想要避免的。
有人能看出我做错了吗?
注意:我知道我应该分开php和html,这是错误的编码。请不要“评论”:D
答案 0 :(得分:0)
你的代码有很多问题,首先onclick="javascript:addLike('.$enregistrement["Comm_ID"].')"
是一个自我调用的函数(它被立即调用),你需要在没有括号的情况下注册它。
使用此<a data-id="'.$enregistrement["Comm_ID"].'"></a>
对图像进行环绕,然后像这样调整您的功能
function addDislike(event) {
// To prevent the default behavior - following the link
event.preventDefault();
var idCo = this.dataset.id;
// or var idCo = $(this).data("id");
$.ajax({
type: "GET",
url: "'.APP_SERVICE_PATH.'SetComment.php",
data: {Dislike:1, commID:idCo},
success: function(data){
},
error: function(exc){
alert("Exception: Une erreur a été levé sur $_GET de
addDislike().");
}
}
答案 1 :(得分:0)
我发现了我的错误:我打开了这样的ajax:FormArray
然后关闭它$.ajax({
而不是)};