2013-05-15 36 views
0

我想在我的頁面上添加Like按鈕。我有新聞,應該有一個「呃!」鏈接(也許你從Battlelog知道它,如果你是玩家)通過update.php更新我的Db。更新很好,但我不希望整個頁面重新顯示實際的「Hooahs」。 目前是使用的一種形式來傳輸數據 - 我改變了提交按鈕,它看起來像一個鏈接...通過ajax更新數據庫並在Div中顯示答案

現在我的問題:

我希望它像「battlelog」你點擊那麼文本顯示「5人給了一個hooah!」

  • 有可能使用Hooah!從「5人給了hooah!」作爲鏈接?當點擊時它變成「6人給了一個hooah!」。

我的腳本:

<script> 
$(document).ready(function() { 
    $('#ajax_form{newsid}').bind('submit', function() { 
     var form = $('#ajax_form{newsid}'); 
     var data = form.serialize(); 
     $.post('index.php?hooah_update', data, function(response) { 
      document.location.reload(); 
     }); 
     return false; 
    }); 
}); 
</script> 

形式:

<div style="position: relative; top: -16px; left: 515px;"> 
     <form method="post" id="ajax_form{newsid}" action="#"> 
     <input type="hidden" name="id" value="{newsid}"> 
     <input type="submit" name="submit" value="hooah!" style="background:none; border:0; color:#0099ff; cursor:pointer;"> 
     </form> 
    </div> 

THX採取看看;)

回答

0

你似乎是幾乎沒有。相反的:

document.location.reload(); 

你會需要這樣的東西:

$("#your_div").html(response); 

PHP腳本必須呼應出你想要的文字。

0

我認爲最好在客戶端添加1個計數,而不是顯示實際的「Hooahs」計數。

想象一下,你打開頁面,它顯示「5人給了Hooah!」, 在你點擊「Hooah!」之前,按鈕還有另外10人給了hooahs。 現在你點擊了按鈕,我想最好是在你點擊一下之後將計數更新爲6而不是16。 不要擔心實際計數,因爲刷新整個頁面時它會顯示16。

$.post('index.php?hooah_update', data, function(response) { 
    if(response.success) { 
     $('span#count').text(parseInt($('span#count').text()) + 1); 
     // Change Hooah to Hooahs 
     if(parseInt($('span#count').text() > 1) { 
      $('span#hooah').text('Hooahs'); 
     } 
    } 
}); 
+0

謝謝:)兩種解決方案都適合我 – mic

相關問題