我有一个形式元件和弹出窗口(由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');
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top