当输入单元由JavaScript从弹出窗口变升“的onChange”事件
-
21-08-2019 - |
题
我有一个形式元件和弹出窗口(由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的文档这一行触发每一个匹配元素的变化的事件。
如果它不为你工作那么在你的代码中有问题的地方。你可以通过手动的形式改变元件触发onchange事件?
您也可以这样做:
window.opener.document.getElementById('controlname').fireEvent('onchange');
或者在你的背景:
$(opener.document.formelement).fireEvent('onchange');
不隶属于 StackOverflow