2012-04-18 128 views
2

我有3個按鈕(圖像鏈接,最終將演變成JavaScript或東西雖然好)如何使用PHP和Javascript將數據從一個頁面傳遞到另一個頁面?

每個按鈕都應該值發送到處理程序腳本,如果按下button 1這確實選擇1,選擇2,等等等等。

我想知道做這件事的最好方法是什麼。我不想使用GET。如果可能的話,我想使用POST,但我不認爲它是。我也想過cookies,但問題是即使您可以通過鏈接調用JS函數來創建cookie,您也無法進入PHP頁面進行處理,您可以在同一次點擊中進行處理嗎?

它會像用戶點擊按鈕img一樣工作,然後將它們帶到處理程序腳本,但處理程序在它們知道它們在那裏之前將它們重定向。

再次,這不是一種形式,我需要用超鏈接做到這一點。我想我可以爲每個選擇設定一個不同的頁面,但我不認爲這是有效的。

謝謝!

+0

GET突然出現了什麼問題? – Leven 2012-04-18 21:34:46

+0

他不希望將這些值包含在URL中。 – Jack 2012-04-18 21:36:19

+0

@Jack所以你做了一個重定向到你覺得足夠漂亮的URL?我不明白。 – Leven 2012-04-18 21:48:45

回答

2

如果您希望使用POST傳遞變量,您可以在頁面上創建表單,並讓您的鏈接在onClick上執行一些JavaScript代碼。他們將變量設置爲所需的值,然後提交表單。關鍵線將如下所示:

document.getElementById("user_choice").value = 2; // or whatever the value for this link is 
document.getElementById("my_form").submit(); 
0

那麼AJAX呢?這是你的問題的最佳選擇,獎金的一部分是你也可以使用帖子。

1

你可以把你的圖像鏈接到:

<form method="post" action="blah"> 
    <input type="hidden" name="function" value="function1" /> 
    <input type="image" scr="whatever" /> 
</form> 

這樣,他們仍然看起來像圖像,但實際上後,不管你想他們的內部形式。無論如何,這是簡單的方法。更難的方法是使用AJAX。

+0

我喜歡這一點,但我注意到的一件事情就是形式,它們似乎不是內聯元素......我忘了說我需要內聯,我沒有想到它。 – user1159454 2012-04-19 01:59:44

1

如果你想使用JavaScript,看看jQuery。使用jQuery's click-method,您可以輕鬆處理元素的點擊次數:

假設你有這樣的HTML:

<div id="target"> 
    Click here 
</div> 
<div id="other"> 
    Trigger the handler 
</div> 

使用jQuery,您可以輕鬆地跟蹤在元素上單擊標靶:

$("#target").click(function() { 
    alert("Handler for .click() called."); 
}); 

在如果您不希望POST或GET直接點擊,我會建議註冊jQuery點擊處理程序,它基於clicked元素設置JavaScript變量。

請注意,jQuery的點擊處理程序可以註冊任何元素,而不僅僅是表單。另外請注意,例如上面的點擊處理程序不POST或GET頁面到服務器。

此外,看看這裏,就如何防止瀏覽器提交表單:What's the effect of adding 'return false' to a click event listener?

甚至比JavaScript是CoffeScript,編譯爲JavaScript,但讓生活變得更加容易。試一試!

相關問題