2012-05-22 41 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