【发布时间】:2010-08-02 07:48:56
【问题描述】:
我有一个当前执行此操作的 cck 模块
- 用户在模块设置页面输入并保存第三方网站的用户名
- 用户添加/编辑节点
- 当用户获取添加/编辑表单时,他们的用户名会从设置中获取,并用于获取一些数据的 api 调用,这些数据会填充表单上的选择。
- 用户从填充的数据中选择某些内容,然后在保存时使用自定义内容创建节点。
这可行,但我希望它能够做到这一点
- 用户添加/编辑节点,显示表单,并且一些默认数据填充上面引用的选择
- 用户在表单的文本字段中输入他们的用户名,单击触发 api 调用的按钮,然后选择填充从 api 调用检索到的数据
- 用户从填充的数据中选择某些内容,然后在保存时使用自定义内容创建节点。
编辑
我将尝试使用 javascript 来执行此操作,而不是让 ahah 为我处理这些事情。因此,当单击按钮时,仍然会触发 api 调用,但现在选择元素的更改完全是通过 ajax 和 dom 操作完成的。但是,当提交此表单时,我收到此友好错误。
检测到非法选择。请联系网站管理员。
据我了解,这是由于 form_state 与表单中存储的不同(我修改后的选择列表)。
我对如何规避此错误有一些想法,但我想知道是否有人对如何做到这一点有不同的想法。
我一直在使用 AHAH 来完成这项工作,但这很困难,因为我找不到与我正在尝试做的事情类似的任何示例,或者任何关于如何使用 AHAH 的解释CCK。我在 hook_elements 的 hook_process 回调中设置了 AHAH 回调,并且正在执行回调,但我认为缓存的 form_state 中的内容与屏幕上显示的内容不匹配,因为在保存/预览节点时,有除了菜单和导航之外没有显示任何内容。我已经获得了正确的信息以显示在网络表单上,但在提交时,它失败了。
对于让 AHAH 与 CCK 一起工作的正确方法以及我应该返回并执行的操作,我也有点迷茫。 (返回表单的重新生成部分?我要缓存什么?等等)
因此,是否有人建议让 ahah 回调工作的步骤,知道 ahah 使用 web 服务和/或 cck 的示例,或者有其他想法?
我希望这很清楚,并感谢您的洞察力!
【问题讨论】:
标签: jquery forms drupal dynamic cck