2013-06-30 49 views
0

我正在處理我的網站上的一部分人們可以在出版物上投票的內容,我在同一個頁面上有很多內容,然後每個出版物都有兩個圖像一個同意,另一個不同意。我想改變圖像,所以當有人投票時,無論是否同意,圖像改變說他已經投了票。 這裏是我的代碼:JS事件源檢測

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

你可以改變你的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"; 
      } 
     } 
    }); 
} 
+0

無論是一個,我都嘗試 但在我看來,兩者是相同的! –

+0

好吧,讓我試試看,我不應該安裝別的東西來看看結果! –

+0

它顯示了這個: [對象窗口] –