我正试图在表单文本输入中键入一个url,在Blur上,用url中指定的网页更新包含的iframe的内容。我似乎无法让它发挥作用,我也不明白为什么…:)
有人能帮我吗?
这是代码。。。
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
<script language="javascript" type="text/javascript" >
<!-- hide
function setIframeSource() {
var theSelect = document.getElementById('location');
var theIframe = document.getElementById('myIframe');
var theUrl;
theUrl = document.getElementById("location");
theIframe.src = theUrl;
}
// end hide -->
</script>
</head>
<body><center>
<form id="form1" method="post">
<input type="text" style="width:150px;" name="location2" id="location" onBlur="setIframeSource();">
</form>
<table width="100%" height="100%" border="1">
<tr>
<td width="300"><iframe src="http://www.ibm.com" id="myIframe" width="280" height="300" name="frame1"></iframe></td>
</tr>
</table>
</center>
</body>
</html>
function setIframeSource() {
var theSelect = document.getElementById('location');
var theIframe = document.getElementById('myIframe');
var theUrl;
theUrl = document.getElementById("location");
theIframe.src = theUrl;
}
也许问题出在上面的第5行——应该是:
theUrl = document.getElementById("location").value;
目前,您正在将输入元素本身分配给theUrl
,这不是theIframe.src
的有效值!
在设置iframe
的src
:后尝试添加此项
theIframe.contentDocument.location.reload(true);
并且,从输入中获取值:
document.getElementById('location').value;