onclick没有加载iframe

时间:2013-06-28 07:56:51

标签: php javascript html javascript-events mouseevent

这是我正在使用的JS

<script type="text/javascript">
function loader(value, url)
{
    document.getElementById("page").innerHTML=value;
    document.getElementById("display").src = url;
}var home = "HOME";

var admin = "ADMINISTARTOR";
var sales = "SALES";
var isve = "ISVE";
</script>

这是文件的负责人。 我制作了一个包含链接的侧边栏:

<li><a href=<?php echo "\"/".INDEX."/sales/\"";?> onclick="loader(sales, this.href)">Sales</a>
    <ul>
        <li><a href=<?php echo "\"/".INDEX."/sales/move\"";?> onclick="loader(sales, this.href)">Movement</a></li>
        <li><a href=<?php echo "\"/".INDEX."/sales/cancel\"";?> onclick="loader(sales, this.href)">Cancel</a></li>
        <li><a href=<?php echo "\"/".INDEX."/sales/add\"";?> onclick="loader(sales, this.href)">Add new HW</a></li>
    </ul>
</li>

我有一个目标框架:

<div id='content' style='margin-left: 170px; height: 700px; width: 800px; overflow: auto;'>
    <iframe id='display' src=<?php echo "\"/".INDEX."/main/home\"";?> style='height: 650px; width: 800px;'></iframe>
</div>

当我单击顶级链接时,它可以正常工作,在我的情况下销售,相关文档会在目标框架中显示,但是一旦我导航到子菜单链接,它就会被加载到整个页面中。请帮忙!!!

2 个答案:

答案 0 :(得分:0)

我不确定您要做什么,但根据我从代码中理解的内容,您希望在点击不同链接时显示不同的iFrame。

因此,如果您想使用javascript进行此操作,则应将所有数据加载到浏览器中,然后根据点击的链接隐藏或取消隐藏iframe。因此,您可以为不同的链接设置不同的iframe,然后相应地显示或隐藏它们。

或者你可以去AJAX并拨打服务器来发送点击的其他链接的数据。

答案 1 :(得分:0)

看起来你正在尝试做类似于AJAX已经做过的事情。您可以调整loader类以使用jQuery的加载函数。如果你愿意,这也可以让你摆脱iframe,只需将页面加载到div中。在我看来,将它加载到div中将是更好的方式。

您需要在页面标题中引用jQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

然后你是新的装载机看起来像这样:

function Loader(page) {
    $('#display').load(page + '.html');
}

这将根据您传递的页面名称将单独的HTML页面的内容加载到显示div中。我建议更多地阅读有关如何使用jQuery和AJAX加载方法的内容。 http://api.jquery.com/load/