2014-02-27 48 views
0

後,我有問題,我的速度,我的代碼像下面阿賈克斯禁用星級率表決

$(function(){ 
    var href = jQuery(location).attr('href'); 

    $('.rate-it').rating({ 
     required: true, 
     callback: function(value, link){ 
      $.ajax({ 
       type: "POST", 
       url: "<? echo base_url('post/rate/'); ?>", 
       dataType: "json", 
       data: "&postlink=" + href + "&ratevalue=" + value, 
       success: function(msg){ 
        $('.rate-it').attr('disabled', true); 
       }, 
       error: function(XMLHttpRequest, textStatus, errorThrown) { 
        displayError(); 
       } 
      }); 
     }, 

如何設置人不能重複投票? 我使用笨

回答

0
$(function(){ 
    var href = jQuery(location).attr('href'); 

    $('.rate-it').rating({ 
     required: true, 
     callback: function(value, link){ 
      $.ajax({ 
       type: "POST", 
       url: "<? echo base_url('post/rate/'); ?>", 
       dataType: "json", 
       data: "&postlink=" + href + "&ratevalue=" + value, 
       success: function(msg){ 
        $('.rate-it').attr('disabled', true); 
       }, 
       error: function(XMLHttpRequest, textStatus, errorThrown) { 
        displayError(); 
       } 
      }); 
     }, 

     focus: function(value, link){ 
      var tip = $('#rate-result'); 
      tip[0].data = tip[0].data || tip.html(); 
      tip.html(link.title || 'value: '+value); 
     }, 

     blur: function(value, link){ 
      var tip = $('#rate-result'); 
      $('#rate-result').html(tip[0].data || ''); 
     }   
    }); 
}); 
+0

這是一個答案或是'編輯'? – Class

+0

這是一個答案 – ramboeistblast

0

如果你希望有人不能夠重複投票,你必須禁用按鈕,檢查在服務器端,這個客戶端沒有投票呢。

否則,可以截獲ajax請求並重復它。

,您可以嘗試:

在Firefox或Chrome,瀏覽到您的網站,鍵入F12,進入控制檯菜單,複製以下:

$.ajax({ 
    type: "POST", 
    url: "[your url here]", 
    dataType: "json", 
    data: "&postlink=" + href + "&ratevalue=" + value, 
}); 

用Ctrl +回車啓動它,您發送投票請求。 現在把它放在for循環中,你有很多票。

全球範圍內,請記住,您永遠不會清理客戶端的用戶輸入。

+0

好的,我已經試過了,如何禁用這個明星? – ramboeistblast