2012-05-22 87 views
2

我正在使用web2py編寫像app這樣的搜索引擎。是否可以實現兩個提交按鈕爲一個表單,如谷歌有兩個按鈕「搜索」和「我感覺幸運」。提前致謝。是否可以爲一個表單提供兩個提交按鈕?

+1

我不知道如果這有助於但是在PHP,你會發現通過檢查已按下哪個按鈕(在多按鈕的形式),如果'$ _POST'數組包含一個壓制的名字命名的關鍵按鈕。你有沒有像webpy中的'$ _POST'數組? –

+0

對MS Internet Explorer非常警惕 - 一些舊版本將發送所有提交按鈕的值而不是單擊的值。 – detly

+2

@detly對IE瀏覽器保持警惕是任何Web開發人員的默認狀態。您花費大約25%的時間來設計網站,然後75%的時間讓它在IE中運行。 –

回答

3

事情是這樣的:

def search(): 
    form = FORM(INPUT(_type='text', _name='keywords'), 
     INPUT(_type='submit', _value='Search'), 
     INPUT(_type='submit', _value="I'm feeling lucky", _name='lucky'), 
     _method='get') 
    if request.vars.keywords: 
     if request.vars.lucky: 
      [code to return "I'm feeling lucky" results] 
     else: 
      [code to return regular results] 
    return dict(form=form) 

給名字的「手氣不錯」按鈕提交使其價值與形式提交,這樣你就可以提交的變量中檢查其是否存在並在這種情況下有條件地返回不同的答案。

注意,FORM()助手默認使用POST方法,但因爲這是一個搜索表單,上面使用GET方法。

你也可以手動生成表單視圖,而不是使用FORM()幫手。

0

是的,它是在進入的請求可能是被按下的按鈕的名稱。

+0

使用FORM或SQLFORM? – Treper

+2

這是一個不好的答案。這怎麼可能? –

+0

仔細閱讀:「在傳入請求你按下按鈕的名稱爲」 – Denis