我正在使用web2py来编写像app这样的搜索引擎。是否可以为一个表单实现两个提交按钮,例如谷歌有两个按钮“搜索”和“我感觉很幸运”。提前谢谢。
答案 0 :(得分: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()
帮助程序。
答案 1 :(得分:0)
是的,传入请求中可能是按下按钮的名称。
答案 2 :(得分:0)
供参考:https://groups.google.com/forum/#!topic/web2py/a0hoswzJBYY在使用SQLFORM.factory
帮助程序而不是FORM
帮助程序时有一个解决方案。