类似这样的:
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()助手。
参考:https://groups.google.com/forum/#!topic/web2py/a0hoswzJBYY提供了一个解决方案,当使用SQLFORM.factory助手而不是FORM助手时。
如果传入请求中包含按下按钮的名称,则可以实现。
$_POST数组是否包含以按下按钮的名称命名的键来找到已按下哪个按钮(在多按钮表单中)。在webpy中是否有类似于$_POST数组的东西? - Nadir Sampaoli