2017-02-20 81 views
2

我在我的網站上有很多文件,並且我試圖爲每個用戶提供下載限制。
下載鏈接看起來像那樣。當在jquery中遇到某些條件時停止鏈接href

<a class="btn btn-primary" id="download" href="<?php echo $content_url;?>" onclick=」var that=this;_gaq.push([‘_trackEvent’,’Download’,’PDF’,this.href]);setTimeout(function(){location.href=that.href;},200);return false;」 target="_blank"> 
    <i id = "<?php echo $id; ?> " class="fa fa-download">&nbsp;&nbsp;</i>Download 
    </a> 

的onclick功能

<script type="text/javascript"> 
$("#download").click(function(event){ 
$.ajax({ 
    url  : '/ajax/download-file.php', 
    dataType : 'json', 
    aysnc : false, 
    success : function(response) 
    { 
    if (response.error_type == 'login') 
    { 
     $("#login_modal").modal('show'); 
    } 
    else 
    { 
     var login_id = "<?php 
     if(isset($_SESSION['login_id'])) 
     { 
     echo $_SESSION['login_id']; 
     } 
     ?>"; 
     console.log(login_id); 
     $.ajax({ 
     type : 'POST', 
     url : '/ajax/track_downloads.php', 
     data : {login_id : login_id}, 
     async : false, 
     success : function(response) 
     { 
      var download_link = $("#download").attr("href"); 
      if(response == 1) 
      { 
      return false; 
      alert("Your Download Limit Has Been Exceeded"); 
      } 
     } 
     }); 
     } 
    } 
    }); 
    }); 
    </script> 

我的代碼工作正常,並檢查分配給每個用戶的下載限制,如果是小於20 PDF獲得一個選項卡打開,但如果限制跨越20警報框應顯示並停止繼續前進的鏈接。

因此,主要問題是:我想停止響應== 1時,我已經嘗試event.stopPropagation和event.preventDefault和.remove已經但它不工作。

回答

0

停止鏈接意味着如果您的track_downloads.php代碼返回1,那麼您可以通過調用jQuery的.remove();方法刪除您的鏈接。這是你不能使用禁用或顯示的最佳解決方案:沒有那麼安全。

相關問題