JavaScript小问题,请教高手回答,在线等待

来源:百度知道 编辑:UC知道 时间:2024/04/28 02:32:01
题目:
请编写WindowsOpen.html和childHtml.html两个页面,要求在WindowOpen.html页面中有一个文本框,但是不能编辑,要编辑必须打开新的窗体ChildHtml.html页面进行编辑,在编辑ChildHtml.html中的相应的文本框后,并点击ChildHtml.html中的确定按钮,会关闭ChildHtml.html的页面,并将编辑的值写入到WindowOpen.html相应的文本框中。

以下是我写的代码,都有问题,但是我不知道有什么错误,恳请大家指点指点,我这个新手,谢谢啊,如果有跟简单的方法也帮我说哈啊
//WindowOpen.html
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312" />
<title>windowOpen</title>
<!--
打开窗口,高度100,宽度200,不允许调整大小-->
<script language="javascript" type="text/javascript">
<function openWindow()
{
var w= window.open("ChildHtml.html","","heigth=100,width=200,resizable=no");
}
//将window对象中的全局变量age的值在页面原素age中显示出来
function showAgeValue()
{
document.all.age.value=window.age;
}
</script>
</head>
<body>
另一个窗口的数值:<input type=&

你的项目其实就是一个窗口传值的过程而已.

在两个窗口中是不能够传值的,这句你应该是知道的,但如果是一个窗口打开另一个窗口就是同了.你窗口中有一个window.open留下句柄,可以用来纵子窗口,当然,子窗口也可以用opener来表示其父窗口.但有些方法还是要注意的!

opener.showAgeValue()这个方法比如,显然,opener表示的是其父窗口,而showAgeValue只是一个方法,问一下的是这不是一个对象,如何引用其方法?就算是你是父窗口中用时,也应该是showAgeValue();的使用,何至在前边在加上一个对象?你只是对opener对象中的内容定义了这个方法,而不是对对象定义方法.明白吗?也就是说,你可经引用opener的任何浏览器属性,不可以像这样的引用.把opener看作一个正在操纵的浏览器,试问,浏览器是否有您的showAgeValue方法?

第二,如果你真的要引子窗口中引用,显然,这个方法必须定义在子窗口.比如你说我直接引用showAgeValue方法,所以这个方法显然必须在子窗口中,不可能出现在父窗口中去定义,否则你是引用不了的.如果站这个立场上时不妨使用一下关联的方式.

opener你可以看做一个文档,显然,你可以直接取得或是修改父窗口中的一些文本框的值.如果在父窗口中用一个函数去监控着某一个特定的文本框,发现其值改变就引用一些事件,这就是常说的观查器的模型.

第三,window.age,呵呵,你能找到值吗?就该是w吧?这里记着var ppp=window.open();
这里的ppp就是子窗口的句柄.所以再次提醒你的提,window是一个对象,但不是特定的那个子对象.所以在window中找age有点难度吧?

写程序要小心的是,第一个function前一的一个尖三角不知何意?

如果你理解了上边的几条,呵呵,我想你能正确的写出程序来的!

错误挺明显的.............你在第一个页面的function前面加了一个”<”你没发现么?