web2py FORM自定义

时间:2013-07-18 08:41:53

标签: ajax forms web2py

是否可以在我的表单中使用form.custom.###,而不是从SQLFORM类创建的。例如,我想制作一个这样的自定义表单:

form = FORM(
            LABEL('Select a search option', _for='search_option'),
            SELECT(__name='search_option', _onchange="jQuery('props_ajaxholder').empty(); web2py_component(jQuery(this).val(), 'props_ajaxholder');", *[OPTION(search_options[so], _value=so.lower().strip() + '.load') for so in search_options]),
        _id='matchingForm',formstyle='table2cols')

在视图中,我想自定义它,以便我可以在select和submit按钮之间插入<div id='placehlder'></div>。只有选择了一个选项后,才会显示提交按钮。

1 个答案:

答案 0 :(得分:0)

您不能将form.custom与FORM一起使用。如果您想使用它,请使用SQLFORM.factory构建表单。

如果您需要使用FORM,则可以在创建FORM时围绕元素包装DIV。

form = FORM(
            DIV(
                LABEL('Select a search option', _for='search_option'),
                SELECT(__name='search_option', _onchange="jQuery('props_ajaxholder').empty(); web2py_component(jQuery(this).val(), 'props_ajaxholder');", *[OPTION(search_options[so], _value=so.lower().strip() + '.load') for so in search_options]),
                INPUT(_type='submit',_value='Submit!', _class="hidden"),
                _id="placehlder"),
            _id='matchingForm',formstyle='table2cols')

使用jQuery / CSS可以轻松完成显示/隐藏提交按钮。