2017-04-12 55 views
0

我正在嘗試在Windows上爲Chrome瀏覽器編寫插件,基本上爲網站添加了額外的功能。 編輯:該網站不是我的,所以我只能添加從鉻擴展可能。通過其他一些JavaScript的網頁上運行Javascript檢測輸入值chrome插件中的編程變化

有這一塊的HTML ... <input type="hidden" class="k-textbox" id="UserID" name="UserID" value="">

的值被更新。 我需要以某種方式檢測此更改,包括檢測值何時重置爲上述值。

很明顯,keyup,keydown,blur等不起作用。

我以爲onchange可能工作,但沒有? document.getElementById('UserID').onchange = function(){alert(document.getElementById("UserID").value);};

我現在有... var user = document.getElementById("UserID").value 運行每5秒,但似乎只拿起第一個變化,從不更新的價值。

任何幫助表示讚賞。

編輯:

使用代碼IM:

var user = document.getElementById("UserID").value 
if (user > 0) { 
var iss_pop = document.getElementById("issuingPopup").childNodes; 
org_html = iss_pop[1].innerHTML; 
new_html = "<a href='https://website.com/#" + document.getElementById('UserID').value + "'>" + org_html + "</a>"; 
iss_pop[1].innerHTML = new_html; 
}; 
+0

正如你所說:'我現在有... VAR用戶=文件。 getElementById(「UserID」)。值每5秒運行一次,但它似乎只接受第一次更改,並且從不更新該值。「這是一個很好的起點。只要告訴我們你的嘗試,我們可能會很樂意幫助。 '**注意:當你添加或編輯一個問題時,你可以使用編輯器的代碼片段**' –

+0

這是我正在使用的代碼 – Ian

回答

0

的問題是onchange尋找一個 「真實」,即:由用戶事件。由於您使用Javascript來更改隱藏字段的值,所以永遠不會被解僱。

無論何時將UserID的價值與JavaScript中使用此觸發事件:

document.getElementById('UserID').dispatchEvent(new Event('change')); 

下面是一個example

+0

對不起,我不明白,我添加功能的網站也不是我的。那爲什麼即時通訊使用鉻插件,正是問題所在,我不更新用戶代碼與我的代碼,所以我不能調用任何其他函數或觸發器。 – Ian