2012-01-08 127 views
1

我試圖讓我的div標籤可點擊,但我無法找出最新的問題。 它是一個五星評級系統,星星賦予不同的價值。從1到5.可點擊的div標籤

鼠標懸停在div標籤正在改變圖像,但不會給我任何結果,當點擊。

我div標籤

<div id="5" OnClick="SendRating(value);" onmouseover=rateStar(id) value="5" ><img src="star.jpg"></div> 


function rateStar(rating){ 
    var i = 1; 
    var ratings = ''; 
    for (i==1; i<=5; i++){ 
     if (i<=rating){ 
      document.getElementById(i).innerHTML = '<img src=\"star1.gif\">'; 
     } 
     else{ 
      document.getElementById(i).innerHTML = '<img src=\"star.jpg\">'; 
     } 
    } 
} 

這是我sendrating功能

function SendRating(RatingValue){ 
var paramas = "rating="+RatingValue; 
$.ajax({ 
type: "POST", 
    url: "rating.php", 
    data: paramas, 
    success: function(responseText) 
    { 
    document.getElementById("ContentHolder").innerHTML = responseText; 
    } 
    } 
); 
} 
+0

發送評級方法在哪裏? – KMan 2012-01-08 12:22:01

+0

SendRating函數在哪裏? – Gerep 2012-01-08 12:22:30

+0

嘗試使用sendRating(this)而不是 – 2012-01-08 12:24:08

回答

3

onclick調用該函數SendRating一個參數 - value - 但你永遠不定義變量。

您在HTML中也有一些錯誤,您應該validate it

-2

如前所述,HTML無法找到您的JavaScript函數。但也要注意,你還沒有嵌套在JS功能裏面< script type =「text/javascript」> ... </script > tags。所以函數聲明被瀏覽器解釋爲文本,而不是JavaScript。

關於HTML的一些提示:所有屬性應該是小寫的,並且它們的值應該在雙引號內。

+0

HTML屬性名稱不區分大小寫,它們的值可能使用''''或'''或(在某些情況下)引用是所有 – Quentin 2012-01-08 12:29:02

+0

瀏覽器瞭解他們,是的,但是如果你一致地做事情,它會更簡潔的代碼,他的一個屬性是「OnClick」,另一個是「onmouseover」 – 2012-01-08 12:33:46

+0

此外,我的答案更多地是關於JavaScript函數不是在一個JavaScript「區域」中,HTML僅僅是一個旁註。 – 2012-01-08 12:34:59

0

從ID獲得星級評價值,並使用它像這樣

<script type="text/javascript"> 
    function clicked(item) { 
    alert($(item).attr("id")); 
    } 
    </script> 


    <div onclick="sendRating(this);" id="5">test</div> 

,你也可以用嘗試以下

<div id="3" onClick="sendRating(this.id)">B3</div> 

<script type="text/javascript"> 
function sendRating(id) 
{ 
    alert(id); 
} 
</script> 
0
for (i==1; i<=5; i++){ 

應該是:

for (var i=1; i<=5; i++){ 

OnClick應全部小寫,