我正在使用Drupal 6.28和Webform 6.x-3.18。我有一个多步骤表单设置。如果您选择单选按钮,我的某些字段只会显示。在这个特殊情况下,这是一个注册表格,其中一个问题是“你会带一位客人吗?”。如果他们选择“是”,那么其他一些字段将下降与其访客相关。所以这很有效。他们可以提交表格,一切正常。问题是,如果他们回到他们的形式进行编辑并决定单独进行,而现在他们没有带来客人,那么客人字段会从预期的表格中消失,但数据仍然存在于幕后,特别是数据库。所以现在当我们开始在某些特定的客人字段上运行报告时,这些字段会关闭我们的报告,因为数据仍然存在于dB中,就好像它们正在带来一个来宾,即使它们现在不是。
有人能想到处理这个问题的最佳地点吗?我应该制作一个以某种方式挂钩到webform的自定义模块并捕获它并重置所有来宾字段吗?我只是不知道处理这件事的最佳地点。
感谢
答案 0 :(得分:0)
您可以对提交数据有一些逻辑。如果这是他们第一次提交(尚未在数据库中),请按计划继续。如果数据已存在,请对该字段进行前后比较。如果它切换为关闭,您可以清除该用户的数据库点。
您也可以在表单代码中包含某些内容,因此如果未选中该单选按钮,请始终插入一些空白/ null /然后将其处理到数据库中。这样,即使之前存在数据,它总是在这些字段中写入为空白(如果你继续并且仍然重写数据库中的整行)。