2012-09-28 52 views
2

我想實現一個網站的raty。除了一個小問題,我已經得到了插件的工作。我無法設法將評分值存儲到我的數據庫中,因爲我無法將評分變量傳遞給我的php腳本。這是我的代碼:如何定義raty「score」變量傳遞給php腳本?

<div id="star" onclick="javascript:rateMe()"></div><br /><br /> 
<div id="hint"></div><br /> 
<script type="text/javascript" src="scripts/js/jquery.raty.min.js"></script> 
<script type="text/javascript"> 

$('#star').raty({ 
half : true, 
number: 10, 
score : 5, 
cancel  : true, 
cancelHint : 'none', 
target  : '#hint', 
targetKeep : true 
}); 

</script> 

和我的職務函數將數據獲取到我的數據庫是:

function rateMe(score) { 
       $.post('scripts/php/rater.php',{score:score, userid:<?php echo $memid; ?> },function(data){alert(data+' Score = '+score); 
       });   
} 

我的PHP腳本是好的,數據被髮布到它除了分數本身!在上述代碼中的某處,我錯過了一些東西。除了那些指向分數的變量,我的警報正確返回所有變量,這些變量爲空,並且我的警報的最後一部分返回爲「分數=未定義」。我嘗試過使用onclick =「javascript:rateMe(score)」,但是這甚至無法發佈數據,而且我也沒有任何提醒。

我想知道我做錯了什麼。我試圖在函數之外聲明分數變量,我已經爲該函數添加了一個單擊事件,我嘗試了在文檔中重命名score變量,我試過將函數放在$(document).ready函數中(){...}標籤,以及代碼的一部分...無濟於事。任何幫助將不勝感激......我是一個JavaScript的新手,我正在尋找我的食譜,但無法找到答案。如果任何人都可以幫助我理解爲什麼score變量沒有被傳遞給php腳本,我將永遠感激。謝謝:)

回答

7

嘗試把click處理程序在RATY對象的選擇:

<div id="star"></div><br /><br /> 
<div id="hint"></div><br /> 
<script src="lib/jquery-1.7.2.js" type="text/javascript"></script> 
<script type="text/javascript" src="lib/raty.js"></script> 
<script type="text/javascript"> 

    $('#star').raty({ 
     half : true, 
     number: 10, 
     score : 5, 
     cancel  : true, 
     cancelHint : 'none', 
     target  : '#hint', 
     targetKeep : true, 
     click: function(score, evt) { 
      $.post('raty.php',{score:score, userid:0 }, 
        function(data){ 
         alert(data+' Score = '+score); 
      }); 
     } 
    }); 
</script> 
+0

稀釋是,我想這幾乎是如你所說,但通過AJAX發佈的長手的方式,那沒有工作。但是,這樣做!非常感謝! :) – David