html href没有链接到正确的位置

时间:2013-11-02 15:03:02

标签: javascript php html

我有一个在header.php中的菜单,在我加载的每个页面上都被称为包含。发生了什么,如果我单击标题中具有绝对路径的链接,当我转到链接并加载header.php时,我尝试调用使用onclick()作为href的'#' ,但由于某种原因继承了我目前所在文件夹的链接。让我举例说明。

菜单结构:

<ul>
      <li><a href="#" onclick="addbox();" class="BA">Add Box(es)</a></li>
      <li><a href="/domain/admin/requests/boxes/index.php">Administration</a></li>
   </ul>

文件

<ul>
     <li><a href="#" onclick="addfile();" class="BA">Add Fil(es)</a></li>
     <li><a href="/domain/admin/reports/boxin/index.php">Administration</a></li>
 </ul>

如果我在文件菜单中点击添加框(es)链接,而不是链接到请求链接中的addbox();,它会将链接显示为:/domain/admin/reports/boxin/index.php#。我该如何纠正这个问题。非常感谢

2 个答案:

答案 0 :(得分:1)

首先,我认为你应该正确地说出你的问题。我无法理解你在这里想说什么。

无论如何,我会尝试从我能理解的内容中给出两分钱:

我认为你的javascript没有尽早加载。因此,当某个人点击带有#的链接时,他会被重定向到主页,并在网址上附加#

要解决此问题,您应该添加:

onclick="return false;"

到每个链接以及要调用其中包含#的函数。

此外,尝试在页面加载之前加载您的javascript,方法是将脚本标记放在head部分中。这不是一个简洁的方法,但在这种情况下会帮助你。您可以稍后优化代码。

例如:

<ul>
 <li><a href="#" onclick="addfile(); return false;" class="BA">Add Fil(es)</a></li>
 <li><a href="/domain/admin/reports/boxin/index.php">Administration</a></li>
<ul>

我希望它有所帮助。

答案 1 :(得分:1)

使用void(0)或javascript:;而不是#

喜欢这个

<a href="javascript:;" onclick="addbox();" class="BA">Add Box(es)</a>

OR

<a href="javascript:void(0);" onclick="addbox();" class="BA">Add Box(es)</a>