我正在我的网站的一部分工作,人们可以对出版物进行投票,我在同一页面上有很多,接下来每个出版物都有两个图像,一个是同意,另一个是不同意。我想改变图像,所以当有人投票,无论是否同意时,图像会改变,说他已经投了票。 这是我的代码:
JPS:
<logic:iterate id="comment" name="Liste_Comments" scope="request">
<html:img src="pages/images/ok.png" alt="Vote pour!" paramId="code" paramName="comment" paramProperty="code" onclick="voterComment('pour');"/>
<html:img src="pages/images/ko.png" alt="Vote contre!" paramId="code" paramName="comment" paramProperty="code" onclick="voterComment('contre');"/>
<bean:write name="comment" property="libelle" />
<bean:write name="comment" property="subject" />
<br>
</logic:iterate>
脚本:
<script type="text/javascript">
function voterComment(vote) {
var url = "<%=request.getContextPath()%>/VoteComment.do";
new Ajax.Request(url, {
parameters: {vote: vote},
onSuccess: function(transport, json) {
if (json.error) {
alert(json.error);
}
else{
window.event.srcElement.src = "pages/images/photo.jpg";
}
}
});
}
</script>
我有一个问题是访问被点击的图片!!
先谢谢你们,感谢你们的出色帮助:)。
答案 0 :(得分:0)
您可以更改html以将this
的值发送到点击处理程序。这将包含对source元素的引用 - 在本例中是单击的图像。
<html:img ... paramProperty="code" onclick="voterComment(this, 'pour');"/>
使用Javascript:
function voterComment(sourceImage , vote) {
var url = "<%=request.getContextPath()%>/VoteComment.do";
new Ajax.Request(url, {
parameters: {vote: vote},
onSuccess: function(transport, json) {
if (json.error) {
alert(json.error);
}
else{
sourceImage.src = "pages/images/photo.jpg";
}
}
});
}