ColdFusion.navigate替代?

时间:2009-02-25 08:19:37

标签: google-maps coldfusion

在另一个问题“使用带有ColdFusion的谷歌地图”中,我遇到了无法使用CF显示谷歌地图的问题。经过多次实验,我发现如果你使用ColdFusion.navigate指向从一个cflayoutarea到另一个cflayoutarea的页面,目标cflayoutarea中的地图将不会显示。 (但是,如果您只运行页面,无论是单独运行还是在目标cflayoutarea内部运行,地图都会显示)

所以现在我的问题是:是否有另一种方法,我不需要使用coldfusion.navigate从一个cflayoutarea导航到另一个?

1 个答案:

答案 0 :(得分:2)

你的英语不是很好,所以我要解释一个对我有意义的问题并回答这个问题......

听起来你有2个CFLayoutArea,并且你想在其中一个中有一个链接(或按钮等),这将改变另一个的内容。

如果您要取消ColdFusion.navigate作为选项,那么在我看来,您将不得不尝试其他一些基本相同的选项。我喜欢jQuery。如果你不喜欢jQuery,你可以使用另一个库,或者推出自己的解决方案,但他们都会做同样的工作。

由于此代码:

<cflayout name="foo" type="hbox">
    <cflayoutarea name="nav">nav</cflayoutarea>
    <cflayoutarea name="content">content</cflayoutarea>
</cflayout>

制作此HTML:

<div  id="foo">
    <div  id="nav" style="overflow:auto;float:left;">
        nav
    </div>
    <div  id="content" style="overflow:auto;float:left;">
        content
    </div> 
</div>

您可以使用内容DIV的ID属性和jQuery来更改其内容:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#goLink").click(function(e){
            $("#content").load("content.cfm");
            e.preventDefault();
        });
    });
</script>
<cflayout name="foo" type="hbox">
    <cflayoutarea name="nav"><a href="#" id="goLink">go</a></cflayoutarea>
    <cflayoutarea name="content">content</cflayoutarea>
</cflayout>