2012-02-09 55 views
2

什麼是創建一個圖像按鈕的最佳實踐,它發送一個值並在單擊時運行一個php腳本(執行一個mySQL查詢)。該按鈕必須是圖像,而不是默認提交類型的按鈕。我一直在Google上搜索幾天,但仍然找不到一個可靠的答案。我可以使用GET,並提出一些圖像按鈕的頁面重定向到本身,這(與包含值的鏈接的圖像),那麼我可以用如何讓一個圖像按鈕運行一個PHP腳本?

if (isset($_GET['variable'])) 

收集,但我真的不希望用戶看到值。我試圖創建具有在它只有一個按鈕,一個表單,點擊後重新加載頁面,我可以捕獲並與

if (isset($_POST['submit_value'])) {$var = $_POST['submit_value']; } 

使用的價值,但我似乎無法使這項工作,至少不是當該按鈕是一個圖像。所以如果有人知道一個體面的方式來做到這一點,請分享。它不一定是AJAX,例如頁面重新加載非常好。我猜我需要JavaScript來做到這一點,但我並不真正瞭解JavaScript,所以一個可行的例子會很好。


自答

感謝您對所有的答案的。我發現最簡單的工作方式是創建一個帶有輸入類型的圖像的表單,該類型的圖像使得提交以及帶有該值的隱藏輸入類型成爲可能。

<form action="some_page.php" method="POST"> 
    <input type="hidden" name="variable" value="50" /> 
    <input type="image" src="image.png" name="submit" /> 
</form> 

而在PHP方面,我使用它來捕獲值。

if (isset($_POST['variable'])) { $var = $_POST['variable']; } 

這是最適合我的問題的解決方案。再次感謝你們的迅速反應。

+2

AJAX比爲每個按鈕製作單獨的表單要乾淨得多。另外,爲什麼你不希望用戶看到請求的內容? – Blender 2012-02-09 17:00:12

+0

@Blender不需要爲每個按鈕創建單獨的表單。 – Kaii 2012-02-09 17:12:37

回答

0

你可以做一個POST形式,並使用圖片作爲提交按鈕無javascript:

<input type="image" src="myimage.gif" name="submit"> 
3

圖片按鈕是非常亂! :(

我會建議使用CSS把背景圖像普通<input type="submit">這樣值將始終是可見的,當用戶提交表單

例如,(例如,在請求發送):

.myImageSubmitButton{ 
    width: 100px; 
    height: 22px; 
    background: url(images/submit.png) no-repeat; 
    border: none; 
    /** other CSS **/ 
} 

的事情在這裏,你必須設置寬度和高度根據使用的圖像......

1

剛一說明:如果用戶希望,他們就可以檢索值,例如W^ith Firebug。這不能改變。

另外,HTML按鈕可以是圖像。見this

或者在圖像上使用XMLhttprequest。有許多關於XMLHTTPRequest的教程。例如this

0

調用提交使用onclick事件的圖像

<img src="image.jpg" onclick="document.formname.submit();" /> 
0

化妝與形象提交按鈕這樣的

<input type="submit" style="background-image:url(image); border:none; 
width:10px;height:10px; color:transparent;" value=" " name="submit_value"/> 
0

我想這樣做的只有兩個辦法都用得到(像你」已經聲明),或者使用表單按鈕是輸入類型爲submit的表單。

我敢肯定,你可以改變提交按鈕的樣式,以便它有一個背景圖像,如果沒有,那麼忽略我的無知。

2

如果它必須是一個<button>您可以將表單重定向到另一個腳本是這樣的:

<form action="somescript.php" method="POST" name="myform"> 
    <input type="submit" name="submit" value="normal submit"> 
    <button name="foo" type="button" value="bar" 
     onclick="document.myform.action = 'someotherscript.php'; 
       document.myform.submit()"> 
     <img src="someimage.png"> 
    </button> 
</form> 

或更改隱藏字段,並張貼形式向同一個頁面是這樣的:

<form action="somescript.php" method="POST" name="myform"> 
    <input type="submit" name="submit" value="normal submit"> 
    <input type="hidden" name="action" id="hidden_action" value="normal_action"> 
    <button name="foo" type="button" value="bar" 
     onclick="document.getElementById('hidden_action').value = 'special_action'; 
       document.myform.submit()"> 
     <img src="someimage.png"> 
    </button> 
</form> 
相關問題