跨多个页面拆分Web表单

时间:2014-05-31 14:40:10

标签: business-catalyst

我有一个非常长的Adobe Business Catalyst Web表单,我需要将其拆分为多个页面,以便它看起来不长。我使用以下网址上的说明将它们放在一起。

http://kb.worldsecuresystems.com/kb/splitting-web-form-across-multiple.html

说明说要为表单的每个部分创建单独的网页,然后使用修改后的操作网址将表单链接在一起。

表单是会员申请表,用户需要使用下拉菜单在第一个表单上选择会员级别。他们不会付款,直到第5个表格,即信用卡详细信息和金额字段所在的位置。所以我的问题是,如果他们在第一张表格中选择金额,我该如何存储该金额以填充第五张表格中的金额字段?

此外,我们还要求提供家庭住址,工作地址和邮政信箱地址。其中每个都将在一个单独的页面上。问题是,在最后一页上将是信用卡的信息,因为我们使用Paypal,他们需要提交帐单邮寄地址。因此,在询问用户所有这些地址后,我真的不想在顶部要求帐单地址,因此有没有办法存储,比如工作地址(第3页),然后使用它来填充第5页的帐单邮寄地址?我知道我假设他们希望自己的工作地址成为帐单邮寄地址,但我不确定如何以其他方式了解这些信息。

此外,如果每个页面上的每个提交按钮都提交到下一个表单,如下所示:

<form name="catwebformform23080" method="post" onsubmit="return checkWholeForm23080(this)" enctype="multipart/form-data" action="/FormProcessv2.aspx?WebFormID=70776&amp;OID={module_oid}&amp;OTYPE={module_otype}&amp;EID={module_eid}&amp;CID={module_cid}&PageID=/Home-address">

...那么这是否意味着每个表单将作为单独的案例登录到Business Catalyst数据库?我还可以假设付款不会一直持续到第5个表单,其中包含结算和信用卡详细信息吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

  

如何存储该金额以填充第5张表格中的金额字段?

您可以使用Business Catalyst在/CatalystScripts/Java_Cookies.js中自动提供的方法保留small amounts数据:

createCookie()readCookie()eraseCookie()

通过将所有字段放在一个页面上的一个表单上,并使用jQueryUI Tabs之类的内容对表单元素进行分组,您可以更轻松地完成这些操作。

  

那么这是否意味着每个表单将作为单独的案例登录到Business Catalyst数据库?

不,BC会将它们分别应用于同一客户和案例。来自您链接的知识库文章:

您可以创建一个Web表单,该表单可以拆分到多个网页,但会添加到同一个客户和案例中

  

我是否还可以假设付款不会在第5张表单中显示,而且会显示结算和信用卡详细信息?

正确。请注意,只要第一个表单完成,就会触发唯一的工作流通知 - 如果客户完成下一个表单,您将不会收到进一步的通知。

答案 1 :(得分:0)

我意识到这是一个古老的问题,但我认为我已经花了2美分。

值得注意的是,多页表单只会导致发送一个自动回复邮件 - 即系列表单中的第一个表单。 The auto-responders of all subsequent forms will not be triggered

<强>关于:

  

我知道我假设他们希望自己的工作地址是帐单地址,但我不知道如何以其他方式了解这些信息。

...您可以使用复选框为客户选择他们希望用作帐单地址的地址。选中一个框可以将一个类应用于该部分中的所有地址字段,然后该地址被转移(以某种方式 - 使用cookie或查询字符串?)以最终形式填充结算地址。

可能的安全区+ {module_}解决方案

免责声明: 2件事:1)我没有对此进行测试,但它可能会让某人朝着正确的方向努力。 2)这使用安全区作为解决方案的一部分 - 不确定它与您的方案的兼容性,因为您已经将客户注册到安全区。

一个选项可能是使用BC的安全区功能;当用户登录到安全区域时,您可以使用某些模块预填充表单字段。

您将采取的步骤是:

  1. 创建安全区域(我们称之为“通用区”)。
  2. 将系列中的第一个表单设置为将客户订阅到常规区域

    (您需要使用标准网络表单,然后在修改属性部分从下拉列表中选择常规区域。)

    提交此表单后,客户将被订阅并自动登录到General Zone。无需用户名或密码。

  3. 在“家庭住址”和“工作地址”表单页面上插入并隐藏“结算地址”字段。

    (我不知道你如何继续使用邮政信箱作为账单地址 - 你需要调查一下。)

  4. 在“主页地址”和“工作地址”表单页面上设置复选框(如上所述),并使用此选项填充隐藏的结算地址的字段部分(说明here)。此 提交结算地址以便稍后检索。

    (您需要编辑表单验证JS以防止BC检查“结算地址”字段是否已完成,因为它们在“家庭住址”或“工作地址”表单页面上显然是空白。)

  5. 付款方式(第5页)上,使用{module_billingaddress}{module_billingcity}{module_billingzip}{module_billingstate}和{{1 自动填充“结算​​地址”字段。这些模块将retrieve the Billing Address last submitted by that customer(这是我没有测试过的那个 - 系统是否允许在不属于订单时提交结算地址信息?)

  6. 希望这对某人有用。