ColdFusion.navigate альтернатива? - PullRequest
0 голосов
/ 25 февраля 2009

В другом вопросе «Использование карты Google с ColdFusion» я столкнулся с проблемой невозможности отображения карты Google с использованием CF. После долгих экспериментов я обнаружил, что если вы используете ColdFusion.navigate для указания на страницу от одной cflayoutarea до другой cflayoutarea, карта в целевой cflayoutarea не будет отображаться. (Тем не менее, если вы просто запустите страницу, как по отдельности, так и когда она находится внутри целевого cflayoutarea, карта покажет)

Итак, мой вопрос сейчас: есть ли альтернативный подход, при котором мне не нужно использовать coldfusion.navigate для перехода от одной cflayoutarea к другой?

1 Ответ

2 голосов
/ 26 февраля 2009

Ваш английский не очень хороший, поэтому я перефразирую вопрос, который имеет смысл (для меня), и отвечу на этот вопрос ...

Звучит так, как будто у вас 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>

Вы можете использовать атрибут ID содержимого DIV вместе с 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...