【问题标题】:How to build a multistep Drupal 7 form with a Bootstrap popup?如何使用 Bootstrap 弹出窗口构建多步骤 Drupal 7 表单?
【发布时间】:2016-06-03 16:08:22
【问题描述】:

我有一个多步骤 Drupal 7 表单。我想在 Bootstrap 弹出窗口中显示它。

此表单在普通页面上运行良好,但是当我将其放入 Bootstrap 弹出窗口时,它会在按下第一个按钮时关闭弹出窗口。

我使用 drupal_render(drupal_get_form('MYFORMNAME_form')) 将表单放入弹出正文中。

如何使这个多步骤表单在弹出窗口中正常工作?

【问题讨论】:

    标签: forms twitter-bootstrap drupal drupal-7


    【解决方案1】:

    当您说引导弹出窗口时,您是指模态窗口 (http://getbootstrap.com/javascript/#modals) 吗?引导程序中的模态在页面主体内定义,并根据需要隐藏/显示。如果你想让一个作为自己的窗口,你需要一个 iframe,因为提交表单不会触发你设置的任何机制来显示模态对话框。

    另一种选择是使用代码重新显示模式,无论表单处于何种阶段,每次页面加载(下一个按钮等)

    最后一个选项是通过 AJAX 完成所有表单导航。然后,您无需将表单放入 iframe 中,也无需包含代码以在每次提交表单时重新显示模式,因为页面永远不会刷新。

    恕我直言,iframe 是最简单的,如果您对 iframe 没有任何疑虑,它也是一个不错的选择。您只需将表单放在单独的页面中并将其包含在 iframe 中。一些主题化工作将使您能够关闭正常的页面镶边,这将使您的模态看起来像您网站的微型版本——您可能不希望您的页眉、导航栏、页脚等在模态中。

    【讨论】:

      【解决方案2】:

      您可以使用Popup forms 模块。它声称:

      适用于多步骤表单。只是不要将 [the] “Next” button id 添加到 [the] 'close_buttons' 数组以保持 [the] 弹出窗口打开 [在步骤之间导航时]。

      此解决方案不使用 Boostrap 模态(“Bootstrap 弹出窗口”),而是使用 jQuery UI 对话框。使用此模块需要一些自定义编码。项目页面提供了示例代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多