如何在Drupal中使用AHAH更新多个容器/元素?

时间:2011-03-03 04:45:09

标签: drupal drupal-6 drupal-fapi ahah

我正在创建产品和价格的摘要视图,以及更新每种产品价格的能力(每种产品有5种不同用户角色的价格)。

我正在使用AHAH提交特定的产品表单,并使表单运行良好,包括使用新值更新旧表单以及说明已完成作业的消息。

但是,到目前为止,我只能更新一个容器(包含提交的表单的容器) - 这意味着该视图最终可能会在整个地方发送多条成功消息。

如何让AHAH系统更新两个容器 - 一个用于提交的表单,另一个用于消息(这将是所有表单的通用容器)。

1 个答案:

答案 0 :(得分:1)

AHAH用返回的JSON响应中的'data'值替换指定包装器的内容。

你可以将所有项目放在一个大的包装器中,然后在你的AHAH回调中,为每个表单元素调用drupal_render,因为它们应该被显示,连接输出。 e.g:

$html = drupal_render($form['item1']);
$html .= drupal_render($form['item2']);
$html .= drupal_render($form['item3']);
drupal_json(array( 'status' => TRUE, 'data' => $html ));