javascript - web2py:可以使用单个 'submit' 按钮提交多个表单吗?

标签 javascript python html dom web2py

是否可以使用单个“提交”按钮提交多个表单?如果是这样,有什么方法可以做到这一点?谢谢。

最佳答案

严格来说,这不是一个 web2py 问题,而是一个 HTML(DOM - 文档对象模型)和使用 javascript 操作 DOM 问题。

您可以使用 javascript 单击一个按钮一次性提交 2 个(或更多表单)。

像这样:-

<form id="id1" ...> ...</form>
<form id="id2" ...> ...</form>

<button onclick="document.getElementById('id1').submit();document.getElementById('id2').submit();" />

当您必须将请求发布到 web2py 应用程序中的两个单独的 url/函数(现在需要同时处理)时,您可能会遇到问题?

正确的方法可能是您可能需要编写一个函数,将表单对象更改为字段集,作为单个表单的一部分。

在 django 中,表单集正是这样做的,并将多个表单转换为仅属于模板中 1 个 HTML 表单的字段集,因此原始的“多个表单”成为前端中 1 个单个表单的一部分。

像这样:-

<form method="post" action="">
    {{ formset.management_form }}
    {% for form in formset %}
        {{ form.id }}
        <ul>
            <li>{{ form.title }}</li>
            {% if formset.can_delete %}
                <li>{{ form.DELETE }}</li>
            {% endif %}
        </ul>
    {% endfor %}
</form>

web2py:-

http://www.web2pyslices.com/slice/show/1458/two-forms-on-one-page-with-custom-forms-to-update-record

def new():
    form = SQLFORM.factory(db.contact,db.groups)

    if form.accepts(request.vars):
        _id_user = db.contacts.insert(**db.contacts._filter_fields(form.vars))

        form.vars.contact = _id_user

        id = db.groups.insert(**db.groups._filter_fields(form.vars))

        response.flash = 'User registered successfully'
    return locals()

它仅返回您的 web2py 模板 1 个单一表单。

关于javascript - web2py:可以使用单个 'submit' 按钮提交多个表单吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13215902/

相关文章:

javascript - 浏览网站时,页面未更新 Chrome 开发工具中的网址或源代码

javascript - 将 JavaScript 连接到 MySQL 数据库

javascript - IE不能设置cookies?

python - 循环时我应该在哪里实例化我的 WebDriver 实例?

html - div 列上的 CSS 边框

javascript - 超链接到 GitHub 项目 HTML 作为带有参数的预览

javascript - 为什么不能使用 JavaScript 改变 CSS 动画的速度

javascript - 在 AngularJS 中从 JSON 解析 $?

python - 从 URL 下载返回的 Zip 文件

python - 导入错误 : cannot import name 'backend'