2012-05-10 23 views
0

我想知道是否有一種方法可以在同一頁面上使用GET變量。停留在同一頁面時使用get變量?

我有一些php/mysql腳本,我想執行如果一個特定的鏈接被點擊,使用GET變量。但是,一旦鏈接被點擊,我不希望頁面上的任何內容改變,我只想讓腳本在幕後運行。

現在,當用戶在搜索頁面上增加一項自己喜愛的所有搜索結果中消失,而B/C我重新提交

注意:添加到收藏夾下面的鏈接,鏈接到同一用戶點擊時將會打開的頁面。

if(isset($_SESSION['username'])){ 
    echo '<div id="favbutton"><a href="search.php?id='.$id.'"><img src="./image/staricon.png"/>Add to favorites</a></div>'; 
} 

謝謝

+0

爲什麼不使用ajax調用? – Th0rndike

+0

PHP不是事件驅動的。如果你想根據用戶交互執行一些任務,你應該使用Javascript。您可以使用http://api.jquery.com/jQuery.ajax/。 – SachinGutte

+0

你可以按照鏈接,可能會幫助你http://api.jquery.com/jQuery.get/ – Pritom

回答

1

jQuery有一個.get()函數,您可以使用它來完成此操作:http://api.jquery.com/jQuery.get/。您可以使用它將任意數量的GET參數傳遞到您的服務器端腳本。如果該腳本返回任何數據,則可以實施回調來確定如何處理數據。

以下是使用jQuery .get()的一個示例。其中一個jQuery範例是「不顯眼的JavaScript」,所以在他們自己的腳本中添加事件處理程序是標準的,而不是過時的onclick屬性。這就是說,這裏有一個簡單的實現:

jQuery(document).ready(function($) { 
    $(".clickable").click(function(e) { // Gets all elements with a class of "clickable" 
     $.get("myScript.php", 
      { myGETVar: $(this).attr("src") }, // Passes the "src" of the clicked element as "myGETVar" 
      function(returnedData) { 
       alert("The script returned: " + returnedData); 
      }, "html" // In this case we're expecting the script to return html 
     ); 
    }); 
} 

這只是一個簡單的例子,但它演示瞭如何附加一個單擊處理程序,以任意數量的元素(與類「點擊」這種情況下,元素),並創建一個ajax請求。這個例子傳遞了被點擊元素的「src」(假設你想用這個圖像)並將其作爲GET變量「myGETVar」傳遞給myScript.php。

我希望這有助於!

+0

感謝您的快速回復。我不明白如何使用這個,如果get變量取決於被點擊的項目,jquery腳本是在頭中,GET變量還沒有定義?你能告訴我一個例子嗎? – AnchovyLegend

+0

我更新了我的評論以包含示例。這是你要找的東西嗎? – Andrew

0

您可以使用Ajax(只有JavaScript)或jQuery get做到這一點。

+0

Adam的意思是「ajax AND jquery」;)簽出[$ .ajax()](http://api.jquery.com/jQuery.ajax/)和[$ .get()](http:// api。 jquery.com/jQuery。得到/)功能 – giorgio

0

你必須使用AJAX,你可以使用做到這一點很容易使用jQuery.Ajax

你默默地將呼叫放入服務器腳本到添加到收藏夾,然後顯示用戶上成功的消息。

相關問題