一个表单可以有两个提交按钮吗?

Tre*_*per 3 html python web2py

我正在使用 web2py 编写类似应用程序的搜索引擎。是否可以为一个表单实现两个提交按钮,例如谷歌有两个按钮“搜索”和“我很幸运”。提前致谢。

Ant*_*ony 5

像这样的东西:

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)
Run Code Online (Sandbox Code Playgroud)

为“我很幸运”提交按钮命名会导致其值与表单一起提交,因此您可以检查它是否存在于提交的变量中,并在这种情况下有条件地返回不同的响应。

注意,FORM()helper 默认使用 post 方法,但是因为这是一个搜索表单,所以上面使用了 get 方法。

您还可以在视图中手动构建表单,而不是使用FORM()帮助程序。