2012-05-02 52 views
1

我正在嘗試將單擊事件添加到SharePoint中的鏈接。 由SharePoint設置的當前href爲href="javascript:ClickOnce()"。 如果我添加以下代碼:使用JavaScript更改href

var saveNclose = document.getElementById("diidIOSaveItem"); 
saveNclose.href = "javascript:JSEPreSaveAction()"; 
alert(saveNclose.href); 

警報輸出我想要得到的,這是javascript:PreSaveAction()在href但是當我看它的頁面仍然是ClickOnce()

爲什麼警報告訴我href是一回事,源代碼和行爲是另一回事?有什麼東西導致SharePoint腳本優先於我的嗎?

+0

你是如何查看源代碼的? – j08691

+0

在Internet Explorer中按F12 –

+0

奇怪的是,我幾乎能夠完成你在這裏成功的工作:http://jsfiddle.net/xZ6nC/。有沒有錯字:'diidIOSaveItem'應該是'didIOSaveItem'?雖然如果是這樣,並且'diidIOSaveItem'不存在,你只會得到一個JS錯誤,告訴你'null'沒有屬性'href' ... –

回答

0

我能夠加入一個計時器添加PreSaveAction()到按鈕的頁面裝載結束10秒後做到這一點。

0
document.getElementById("diidIOSaveItem").setAttribute("href", "javascript:JSEPreSaveAction()"); 

alert(document.getElementById("diidIOSaveItem").getAttribute("href")); 
+0

剛剛測試過,得到了同樣的結果。它警告JSEPreSaveAction()但href仍然是ClickOnce() –

+0

@JonathanEckman,編輯了一下代碼。 – Nadh

+0

結果仍然相同。 –