【发布时间】:2013-11-18 18:56:11
【问题描述】:
在我的索引页面上,几个不同的 div 中有一个 id = 'myframe' 的 iframe,该 iframe 有一个 src = order.html 并且该页面有一堆不同的单选按钮和复选框,它们的值与它们相关联。
我目前在编写 javascript 函数以编辑本网站索引页面上的 div(id = 'purchase')以显示当前订单/购买时遇到了困难。
function addAlbum(boxElement){
var iframe = document.getElementById('myframe');
var s = iframe.contentWindow.document.getElementById('purchase').innerHTML;
i = boxElement.value.indexOf("|");
clean_string = boxElement.value.substring(0,i);
//price = parseInt(boxElement.value.substring(i +1, boxElement.value.length));
replaceString = "";
if(boxElement.checked){
s += '<div class="one_record">';
s += clean_string;
s += '</div>';
}
else{
replaceString = '<div class="one_record">';
replaceString += clean_string;
replaceString += '</div>';
s.replace(replaceString, "");
}
}
当我运行我的函数时,我收到一条错误消息:“无法读取 null 的属性 'contentWindow'”,这意味着它无法找到我的 iframe (id = 'myframe')。非常感谢任何建议。
【问题讨论】:
-
我认为问题可能是 iFrame 已经是一个“窗口”对象,因此您可以考虑将 contentWindow 更改为 contentDocument 并查看是否可以解决您的问题。您可以尝试使用以下内容访问 iFrame 的文档对象: var iframe = window.frames["myframe"]; var s = iframe.document.getElementById('purchase').innerHTML;
-
我之前修改了我的答案,我想我实际上发现了你遇到的错误。
标签: javascript html iframe innerhtml getelementbyid