如何使用Javascript从父窗口设置子pop-op元素的值
How to set value of child pop op elements from parent window using Javascript?
我正在使用从父页面调用弹出窗口
var childWindow = open('test1.aspx', '1397127848655', 'resizable=no,width=700,height=500');
然后,我尝试使用这个childWindow
对象设置从父窗口弹出的两个跨度的值。
childWindow.onload = function () {
alert('this msg does not shows up when run on IE8');
var hidden1 = childWindow.document.getElementById('hidden1');
var hidden2 = childWindow.document.getElementById('hidden2');
hidden1.innerHTML = rowindex;
hidden2.innerHTML = controlname;
};
只要我使用chrome,这个代码就可以正常工作。但它拒绝在IE8上工作。也没有控制台错误。
我尝试删除childWindow.onload = function () { }
,但随后页面会在chrome和IE8上进行某种刷新。
更新这也不起作用。
function CallPopUp(rowindex,controlname ) {
function popupLoad() {
alert('this msg does not shows up when run on IE8');
var hidden1 = childWindow.document.getElementById('hidden1');
var hidden2 = childWindow.document.getElementById('hidden2');
hidden1.innerHTML = rowindex;
hidden2.innerHTML = controlname;
}
var childWindow = open('test1.aspx', '1397127848655', 'resizable=no,width=700,height=500');
if (childWindow.document.readyState === "complete") {
popupLoad();
} else {
childWindow.onload = popupLoad;
}
如果test.aspx
在浏览器缓存中,则可能在附加事件处理程序之前onload
事件已经发生,因此您错过了它(众所周知,IE会对图像加载事件执行此操作)。我建议您在附加事件处理程序之前检查document.readyState
。
function popupLoad() {
alert('this msg does not shows up when run on IE8');
var hidden1 = childWindow.document.getElementById('hidden1');
var hidden2 = childWindow.document.getElementById('hidden2');
hidden1.innerHTML = rowindex;
hidden2.innerHTML = controlname;
}
var childWindow = open('test1.aspx', '1397127848655', 'resizable=no,width=700,height=500');
if (childWindow.document.readyState === "complete") {
popupLoad();
} else {
childWindow.onload = popupLoad;
}
作为另一个选项,您可以将值放入URL的查询参数中:
`"test1.aspx?hidden1=" + rowindex + "&hidden2=" + controlname`
然后让弹出窗口从查询字符串中的onload
处理程序加载自己的字段。然后,你可以保持弹出窗口中的代码是独立的,你不必试图从另一个窗口修改一个窗口。
如果你不想让用户看到或编辑它,你可以关闭弹出窗口中的位置栏。
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 将视口底部滚动到元素底部
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- 从数组中删除元素:pop 不是一个函数(javascript)
- that.push 和 that.pop 元素的 “that={}” 对象是文字吗?
- 从数组中移除/pop元素
- 如何使用Javascript从父窗口设置子pop-op元素的值
- 使用pop方法,从数组中取出一个元素