把字符串加在一起并不像你想象的那么容易。你在这里遇到各种各样的问题。
var urlname ='/a/b.php?company_name='+company_name+'& series ='+ series;
如果company_name和series可以有不能在URL参数中使用的字符,如空格或加号或百分数或符号或Unicode,则会中断。他们需要编码。
的innerHTML =” < IFRAME HEIGHT = “600px的” WIDTH = “100%” NORESIZE = “NORESIZE”
不能使用 '在HTML PX' 单位,这是CSS。 noresize不需要,无论如何你都不能调整iframe的大小。
SRC = “ '+ URLNAME +'”
如果URLNAME包含 “<或&你可能有麻烦。需要进行HTML编码。
NAME =” AOL “FRAMEBORDER =”0“ALIGN =”ABSBOTTOM“scrolling =”no“id =”a1“name =”a1“
您有两个名字吗?可以尝试使用window.frames数组或getElementsByName。
的onload = “使用Javascript:高度( 'A1')”>
'需要反斜杠逃逸,因为你使用的是在你的innerHTML =字符串分隔符' ...”分配。
不要用'javascript:'开始事件处理程序,只有在href中才有意义(甚至不应使用javascript:URL)。
如果你让你的heights()函数采用一个对象而不是id字符串,你可以取消所有这些名称。使用DOM方法可以避免考虑HTML转义。例如:
function heights() {
alert(this.offsetHeight); // 'this' is the object the event was called on
}
var iframe= document.createElement('iframe');
iframe.frameBorder=iframe.scrolling= 'no';
iframe.style.height= '600px';
iframe.style.width= '100%';
iframe.onload= heights;
iframe.src= '/a/b.php?company_name='+encodeURIComponent(company_name)+'&series='+encodeURIComponent(series);
document.getElementById('frame2').appendChild(iframe);
您使用Firefox/Firebug进行调试吗?如果直接导航到iframe src中使用的网址,会发生什么情况?函数是否运行? – Antony 2009-09-07 12:29:21
查看函数heights()用于自动调整我的iframe的高度。这应该自动设置它没有做的高度。这就是为什么im卡住了。 – developer 2009-09-07 12:31:14
“Javascript:”在onload等事件处理程序属性中没有用处。您已将它与元素的href属性中的“javascript:”伪协议混淆。 – 2009-09-07 13:18:27