如何在Drupal中自动刷新div

时间:2011-11-14 23:08:36

标签: jquery drupal

我正在使用Drupal。

我正在尝试让每个X秒更新一个字段,而不会刷新整个页面。

我使用这样的代码:

 <script>
 var refreshId = setInterval(function()
 {
      $('#responsecontainer').fadeOut("slow").load('response.php').fadeIn("slow");
 }, 10000);
 </script>

response.php应该是我正在刷新的领域?

Drupal是什么?我应该使用什么而不是response.php

3 个答案:

答案 0 :(得分:1)

首先,您应该为此创建一个模块。您应该在模块中定义一个新的菜单项。例如:

function yourmodule_menu() {
  $items = array();
  $items["ajax/get-field-value"] = array(
    "title" => "Some title",
    "page callback" => "yourmodule_page_callback",
    "access callback" => true,
    "type" => MENU_CALLBACK
  );
  return $items;
}

然后让你的函数返回该字段的实际值:

function yourmodule_page_callback() {
  // get the field value
  print $field_value; exit;
}

然后在您的JavaScript代码中,您应该加载/ajax/get-field-value页面而不是response.php

答案 1 :(得分:0)

Marius Ilie建议正确的方向。

您可以访问以下链接,了解有关如何创建自定义模块以使用javascript / jquery的更多详细信息。见接受的答案。

drupal module jquery php script location issue

答案 2 :(得分:0)

您可能还想查看使用node.js。有一个模块(适用于Drupal 6和7):nodejs module

现在这是保持与客户端的低成本(服务器负载)连接并将数据“推送”到页面的热门新方法,因此您可以拥有“股票代码”或其他此类信息更新在客户端。

要了解更多信息,您可以view a good DrupalCon London session关于将Node.js与Drupal站点集成的主题。

相关问题