簡體   English   中英

當彈出窗口中的JavaScript更改輸入元素時,引發“onChange”事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM