2013-11-02 103 views
-1

我有一個在header.php中的菜單,它在我加載的每個頁面上都被稱爲include。發生什麼事情是,如果我點擊鏈接的標題中有一個絕對路徑,當我去鏈接並加載header.php我試圖調用onclick()其中使用'#'作爲一個href,但由於某種原因繼承鏈接到我目前所在的文件夾。讓我以示例向您展示。html 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> 

如果我點擊addbox();,而在文件菜單,而不是鏈接添加盒(ES)的鏈接是在請求鏈接中顯示鏈接爲:/domain/admin/reports/boxin/index.php#。我如何糾正這一點。非常感謝

+0

感謝您的幫助好友。猜猜某人剛剛度過了一個糟糕的一天 – user1532468

+0

而不是看你研究過的問題。 Jeez – user1532468

+0

我盡我所能說了這個問題。也許我不應該把HTML放在代碼中。謝謝 – user1532468

回答

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>

+0

當我用任何一種方法點擊鏈接時都沒有任何反應。謝謝 – user1532468

+0

你不是#標籤的URL。對? 像這樣變化。 'Add Box(es)' 檢查您的上述超鏈接標籤(a)。所有標籤都應該關閉()。 –

1

首先,我認爲你應該正確地說出你的問題。我不明白你在這裏想說什麼。

不管怎麼說,我會嘗試從我能理解給我的兩分錢:

我覺得你的JavaScript沒有加載足夠早。所以當一個人點擊一個#的鏈接時,他會被重定向到主頁,並附加一個#

爲了解決這個問題,您應該添加:

onclick="return false;" 

到每一個環節與要調用中有一個#功能一起。

此外,嘗試通過將您的腳本標記放在頭部分加載頁面之前加載您的JavaScript。這不是一個整潔的方式,但會在這種情況下幫助你。您可以稍後優化您的代碼。

如:

<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> 

我希望它能幫助。

+0

我已經試過想到這一點,並試圖

  • Add Box(es)
  • 但仍然是相同的結果。 – user1532468

    +0

    我的所有腳本都在head標籤中。謝謝 – user1532468