3

私はweb2pyを使用してアプリのような検索エンジンを作成しています。グーグルが「検索」と「ラッキーだ」の2つのボタンを持っているように、1つのフォームに2つの送信ボタンを実装することは可能ですか?前もって感謝します。

4

3 に答える 3

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)

「I'm Feeling Lucky」送信ボタンに名前を付けると、その値がフォームと共に送信されるため、送信された変数の中でその存在を確認し、その場合は条件付きで別の応答を返すことができます。

FORM()ヘルパーはデフォルトで post メソッドを使用しますが、これは検索フォームであるため、上記では get メソッドを使用していることに注意してください。

FORM()ヘルパーを使用するのではなく、ビューで手動でフォームを作成することもできます。

于 2012-05-22T14:48:31.050 に答える
0

参考までに: https://groups.google.com/forum/#!topic/web2py/a0hoswzJBYYSQLFORM.factoryには、ヘルパーの代わりにヘルパーを使用する場合の解決策がありFORMます。

于 2014-05-11T17:37:16.113 に答える
0

はい、受信リクエストで押されたボタンの名前が可能です。

于 2012-05-22T07:56:36.080 に答える