如何使用Bootstrap弹出窗口构建多步骤Drupal 7表单?

时间:2016-06-03 16:08:22

标签: forms twitter-bootstrap drupal drupal-7

我有一个多步骤Drupal 7表单。我想在Bootstrap Popup中显示它。

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

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

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

2 个答案:

答案 0 :(得分:3)

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

另一种选择是使用代码重新显示模态,在每个页面加载(下一个按钮等)的情况下,在任何阶段使用表单

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

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

答案 1 :(得分:0)

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

  

适用于多步骤表单。只是不要添加[#]和#34;下一步"按钮ID为   [] {' close_buttons'数组保持[弹出] [在步骤之间导航时]。

此解决方案不是使用Boostrap模式(" Bootstrap弹出窗口")而是使用jQuery UI对话框。它需要一些自定义编码才能使用此模块。示例代码在项目页面上提供。