我想实现这样一个效果,就是在自己编写的页面中的textbox字符,而这个字符自动显示在百度主页搜索框里。(请别问我为什么,也不是想搜索,只是要研究一下自己页面和其它页面间的同步信息交互。)
于是自己做一个包含了左右2个框架的页面,左面的leftframe是自己的页面,很简单的一个输入框textbox;右面框架rightframe里引向http://www.baidu.com。
事先看了一下百度该页的源文件,发现其form名为f,搜索框名为wd,于是象如下这样编写:
框架文件1.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>框架间的信息交互</title>
</head>
<!--把框架分割成左右二个部分-->
<frameset cols="13%,87%">
<frame name="leftframe" src="2.html" >
<frame name="rightframe" src="http://www.baidu.com" >
</frameset><noframes></noframes>
</html> 左框架文件2.html:
<html>
<head></head>
<body>
<!--加入一个表单用来输入信息-->
<form name="message">
请输入:<br />
<!--供输入的文本框,用onKeyUp事件来调用函数showme()-->
<input type="text" name="mytbx" value="" size="10" onKeyUp="showme()" /><br />
</form>
<!--此处放入脚本程序-->
<script language="javascript">
function showme(){
//把本框窗中在文本框中输入的值写入百度的f的文本框wd中
parent.rightframe.document.f.wd.value=message.mytbx.value;}
</script>
</body>
</html> 最后结果却是不行,在状态栏左下角所显示的错误提示里说我的左页面(http://127.0.0.1/test/2.html)拒绝访问。
而我自己再做一个rightframe的页面,只有一个textbox,进行测试却一切正常;另外,我将百度页保存在本机上html再进行测试也可以。
请大家帮忙一下看看,究竟是怎么回事呀?对于javascript又不执行回传,只是用来实现客户端上的同步显示数据,为什么就不行呢?如何解决呀,谢谢大家。
于是自己做一个包含了左右2个框架的页面,左面的leftframe是自己的页面,很简单的一个输入框textbox;右面框架rightframe里引向http://www.baidu.com。
事先看了一下百度该页的源文件,发现其form名为f,搜索框名为wd,于是象如下这样编写:
框架文件1.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>框架间的信息交互</title>
</head>
<!--把框架分割成左右二个部分-->
<frameset cols="13%,87%">
<frame name="leftframe" src="2.html" >
<frame name="rightframe" src="http://www.baidu.com" >
</frameset><noframes></noframes>
</html> 左框架文件2.html:
<html>
<head></head>
<body>
<!--加入一个表单用来输入信息-->
<form name="message">
请输入:<br />
<!--供输入的文本框,用onKeyUp事件来调用函数showme()-->
<input type="text" name="mytbx" value="" size="10" onKeyUp="showme()" /><br />
</form>
<!--此处放入脚本程序-->
<script language="javascript">
function showme(){
//把本框窗中在文本框中输入的值写入百度的f的文本框wd中
parent.rightframe.document.f.wd.value=message.mytbx.value;}
</script>
</body>
</html> 最后结果却是不行,在状态栏左下角所显示的错误提示里说我的左页面(http://127.0.0.1/test/2.html)拒绝访问。
而我自己再做一个rightframe的页面,只有一个textbox,进行测试却一切正常;另外,我将百度页保存在本机上html再进行测试也可以。
请大家帮忙一下看看,究竟是怎么回事呀?对于javascript又不执行回传,只是用来实现客户端上的同步显示数据,为什么就不行呢?如何解决呀,谢谢大家。
通过查看百度搜索页面的HTML代码,获得表单提交到的url(即action的值)以及需要提交的相关参数,例如提交到/s,参数有key、lang等等,那么在自己的页面中可以这样:
<script>
function go(){
var key=document.getElementById("key").value;
document.getElementById("i").src="/s?key="+key;
}
</script>
<input type="text" id="key"/><input type="button" value="search" onclick="go()">
<iframe id="i" src="about:blank"></iframe>