0

私は自分の Web サイトで出版物に投票できる部分に取り組んでいます。同じページに多くの記事があり、次のすべての出版物には 2 つの画像があり、1 つは同意し、もう 1 つは同意しません。画像を変更したいので、誰かが投票すると、同意するかどうかにかかわらず、画像は彼がすでに投票したことを示すように変わります。これが私のコードです:

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>

クリックした画像にアクセスできません!!

事前に、あなたの大きな助けに感謝します:)

4

1 に答える 1

0

html を変更して、値をthisクリック ハンドラに送信できます。これには、ソース要素 (この場合はクリックされた画像) への参照が含まれます。

<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";
          }
       }
   });
}
于 2013-06-30T21:11:09.623 に答える