关于框架的简单问题!!
文件frame3main.htm:
<HTML>
<FRAMESET COLS="50%,50%">
<FRAME NAME="leftFrame" SRC="frame3-1.htm">
<FRAME NAME="rightFrame" SRC="frame3-2.htm">
</FRAMESET>
</HTML>
文件frame3-1.htm:
<html>
<head>
<title></title>
</head>
<script language="javascript">
<!--
var b
function show()
{
var a=parent.rightFrame.document.forms[0].type
for(var i=0;i<a.length;i++)
{
if(a[i].checked)
{
b=a[i].value
alert(b)
parent.window.navigate("information.html?t="+b)
//break
return
}
else //else 问什么不能正常执行,问什么写在循环外就可以了?
{
alert("please make the choice")
//break
return
}
}
//alert("please make the choice")
}
//-->
</script>
<body>
<form>
<input type="button" name="button1" value="button1" onclick="show()">
</form>
</body>
</html>
文件frame3-2.htm:
<html>
<head>
<title></title>
</head>
<body>
<form>
<input type="radio" name="type" value="metal">1<br>
<input type="radio" name="type" value="classic">2<br>
<input type="radio" name="type" value="rap">3<br>
</form>
</body>
</html>
文件information.html:
<html>
<head>
<title>
</title>
</head>
<body>
<script language="javascript">
<!--
alert() //如何得到frame3-1.htm中的b变量的值?只能用js的方法!
//-->
</script>
<h1>thank you!!</h1>
</body>
</html>
谢谢各位高手!1
问题点数:40、回复次数:12Top
1 楼hrong(黄蓉)回复于 2003-09-02 12:26:46 得分 0
var a=parent.rightFrame.document.forms[0].type
改成
var a=parent.rightFrame.document.getElementsByName("type");
另外请注意, 不要用 type 这样的关键字来命名控件Top
2 楼fzel_net(蓝色天际)回复于 2003-09-02 13:10:05 得分 0
upTop
3 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2003-09-02 19:18:34 得分 10
文件information.html:
<html>
<head>
<title>
</title>
</head>
<body>
<script language=javascript>
<!--
function queryString(sParam){
var sBase = window.location.search
var re = eval("/" + sParam + "=([^&]*)/")
if (re.test(sBase)){
return RegExp.$1
}
else{
return null
}
}
alert(queryString("t"))
//-->
</script>
<h1>thank you!!</h1>
</body>
</html>
Top
4 楼slumcherry(hrong's my teacher)回复于 2003-09-03 09:02:30 得分 0
to possible_Y
我将alert(queryString("t"))改成alert(queryString("b")),就可以得到b的值了.不过小弟是一初学者,所以你的程序看不大懂,能把函数里的语句解释一下吗?还有就是,我得else问题能帮我解决吗?我最初的想法是如果什么都不选,就弹出"please make the choice".可是执行结果不是这样,
请赐教!万分感激!!!Top
5 楼slumcherry(hrong's my teacher)回复于 2003-09-03 09:04:33 得分 0
to hrong
请问黄兄,你的这个方法帮我解决哪个问题?我试了试两个问题都没解决.Top
6 楼hrong(黄蓉)回复于 2003-09-04 11:10:06 得分 30
1. 楼主, 你的 else 的问题再于若第一个 radio 不被选中的话, 就被你的 else 里的 return 跳出了函数而中断了函数的执行!!
2.
在 information.html 里:
<script language=javascript>
var s = window.location.search; //得到 ?t=bbbbbbbbbb;
if(s)
{
var a = s.split("\?");
var b = a[1].split("%26");
for(var i=0; i<b.length; i++)
{
var c = b[i].split("=");
alert("你传入的变量 "+ c[0] +" 的值是 "+ c[1]);
}
}
</script>Top
7 楼slumcherry(hrong's my teacher)回复于 2003-09-05 13:13:36 得分 0
to hrong
感谢黄兄赐教,问题解决了.不过由于小弟是新手,能不能解释一下information.html 里的脚本语句?多谢多谢!!Top
8 楼ricky460(阿酷)回复于 2003-09-05 18:26:27 得分 0
还想请问 . . . 如果有两个页面中都定义了一个b的变量 . . . . .
通过搜索找到的b值是哪个 ????Top
9 楼hrong(黄蓉)回复于 2003-09-08 09:11:25 得分 0
在 information.html 里:
<script language=javascript>
//假设 information.html 的地址栏里是 information.html?t=bbbb&s=cccc
var s = window.location.search; //得到 ?t=bbbb&s=cccc 这段字串;
if(s)
{
var a = s.split("\?"); //得到 a[1]="t=bbbb&s=cccc" 这段字串;
var b = a[1].split("%26"); //按照字符 & 将上面的那个字串劈开
for(var i=0; i<b.length; i++)
{
var c = b[i].split("="); //得到等号两端的字串
alert("你传入的变量 "+ c[0] +" 的值是 "+ c[1]);
}
}
</script>Top
10 楼ricky460(阿酷)回复于 2003-09-09 10:28:19 得分 0
不要笑我..还是想请问一下eval是什么意思??Top
11 楼slumcherry(hrong's my teacher)回复于 2003-09-09 11:38:56 得分 0
to ricky460
eval 方法
检查 JScript 代码并执行.
eval(codeString)
必选项 codestring 参数是包含有效 JScript 代码的字符串值。这个字符串将由 JScript 分析器进行分析和执行。
说明
eval 函数允许 JScript 源代码的动态执行。例如,下面的代码创建了一个包含 Date 对象的新变量 mydate :
eval("var mydate = new Date();");
传递给 eval 方法的代码执行时的上下文和调用 eval 方法的一样.
Top
12 楼laker_tmj(laker)回复于 2003-09-10 12:35:20 得分 0
能不能 eval 調用函數?Top




