Javascript onblur会影响从文本框输入到iframe吗?

时间:2012-03-21 19:19:28

标签: javascript iframe onblur

我正在尝试在表单文本输入中键入url,而在onBlur上,使用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>

2 个答案:

答案 0 :(得分:1)

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的有效值!

答案 1 :(得分:1)

尝试在设置iframe的{​​{1}}:

后添加此内容

src

并从输入中获取值:

theIframe.contentDocument.location.reload(true);