使用javascript原型自动隐藏DIV

时间:2011-03-11 01:14:21

标签: php javascript jquery ajax prototypejs

在开始之前,我正在使用PHP和JS lib Prototype来处理我的代码中的Ajax。

所以我的问题如下: 我正在使用以下函数将php文件加载到目标DIV

   function ajaxUpdater(id, url)
{
    new Ajax.Updater('targetDiv', 'data.php', {asynchronous: true});
}

使用按钮内的onClick函数,我抓取data.php的内容并将其显示在ID为'targetDiv'的DIV中。

问题是这个。

data.php中有一些我希望隐藏的东西,只有在触发事件时才显示。 我一直在尝试大量不同的解决方案,但似乎没有任何效果。 (只是为了增加混乱,函数在data.php单独打开时工作,但在使用我的ajax函数加载data.php时不起作用。

任何帮助或线索或任何事情都将不胜感激!

2 个答案:

答案 0 :(得分:0)

弘树,

我建议用Ajax方法传递一些参数,并使用data.php中的一些逻辑来挑选和选择要发回的数据。这是我如何使用原型调用传递参数的示例。

new Ajax.Updater('targetDiv', 'data.php', { parameters: { myParam1: 'hello', myParam2: 'world'} });

进入data.php文件以创建一些逻辑。请注意,默认情况下,原型发送params的方法是POST,但您可以通过在同一个Ajax.Updater调用中声明method: 'get'来改变它,如下所示:

new Ajax.Updater('targetDiv', 'data.php', { method: 'get', parameters: { myParam1: 'hello', myParam2: 'world'} });

答案 1 :(得分:0)

查看Prototype API的AJAX部分。在其中,它讨论了一个可以使用的名为'evalJS'的选项,您可以将其设置为true。如果设置了此选项,则会更新updater返回的任何javascript并按正常方式运行。

function ajaxUpdater(id, url) {
    new Ajax.Updater('targetDiv', 'data.php', {
      asynchronous: true,
      evalJS: true
    });
}