[英]Raise “onChange” event when Input Element changed by JavaScript from Popup Window
我有一個帶有表單元素和彈出窗口的網頁(由window.open打開)。
兩者都有jQuery可用。
彈出窗口有一個javascript,可以更改開啟窗口中的表單元素。 通過做...完美的工作
$(opener.document.formelement).val(vals[0]);
但是,通過這樣做,onChange事件將不會觸發。 但是,這將是其他一些頁面元素所必需的。 所以我試着自己解雇onChange事件
$(opener.document.formelement).change();
但這沒有任何作用。
任何提示? 由於其他頁面元素的體系結構,我肯定必須觸發onChange事件。
這個問題類似於通過以編程方式更改文本框值來調用Javascript onchange事件 ,但是該問題的建議解決方案似乎對我不起作用。 也許那是因為彈出窗口。
也許它的橫向窗口正在傷害你...嘗試在你打電話的開啟器內部制作一個功能。 可能有幫助?
在揭幕戰中:
window.changeMyElement = function(value) {
$(formelement).val(value).change();
}
從彈出窗口:
opener.changeMyElement(value);
這條線應該工作:
$(opener.document.formelement).change();
根據jQuery 文檔,此行觸發每個匹配元素的change事件。
如果它不適合您,那么您的代碼中存在問題。 你可以通過手動更改表單元素來觸發onchange事件嗎?
你也可以這樣做:
window.opener.document.getElementById('controlname').fireEvent('onchange');
或者在您的背景下:
$(opener.document.formelement).fireEvent('onchange');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.