求救!简单问题

jerrie_1 2006-01-10 03:56:36
<form name="dynamiccombo" method="post" runat="server">
<select name="stage2" size="0" onchange="displaysub()">
<option value="#" selected>this is a place</option>
<option value="#">this is a place</option>
<option value="#">this is a place</option>
<option value="#">this is a place</option>
</select>
<input type="button" name="btgo" value="GO!" onclick="gothere()">
</form>
<script language="javascript">
var cacheobj=document.dynamiccombo .stage2
</script>

运行时,总是提示document.dynamiccombo .stage2 为空对像,如何把改为document.getElementByName("stage2"),可又提示cacheobj.options.length错误

希望多多指点
...全文
76 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujf 2006-01-11
  • 打赏
  • 举报
回复
你啊runat="server"去掉试试, 应该不会有问题. 还要就是你的httpserver是什么, 如果runat="server",你直接打开html文件和通过http方式打开是不一样的.
jerrie_1 2006-01-11
  • 打赏
  • 举报
回复
还有就是:document.dynamiccombo .stage2 这句话中有没有空格都是一样的
jerrie_1 2006-01-11
  • 打赏
  • 举报
回复
谢谢楼上几位!

不过都没有解决!

问题在于:在源代码中<form name="dynamiccombo" method="post" runat="server">
可运行后查看源文件却成了<form name="_ctl0" method="post" action="combo box.aspx" id="_ctl0">
可能是因为这个,当然document.dynamiccombo.stage2 会为空对象,可又不知道为什么为变成这样?能帮我解释一下
wuyanfeng 2006-01-10
  • 打赏
  • 举报
回复
对了,如果你的IE版本小于5 那么:
<script id=clientEventHandlersJS language=javascript>
<!-- // 此处必须加上固定字符。

function document_onclick() {

}

//-->
</script>
wuyanfeng 2006-01-10
  • 打赏
  • 举报
回复
只是多了一个空格。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<form name="dynamiccombo" method="post" runat="server">
<select name="stage2" size="0" onchange="displaysub()">
<option value="#" selected>this is a place</option>
<option value="#">this is a place</option>
<option value="#">this is a place</option>
<option value="#">this is a place</option>
</select>
<input type="button" name="btgo" value="GO!" onclick="gothere()">
</form>
<script language="javascript">
var cacheobj=document.dynamiccombo.stage2
</script>
wanger_cn 2006-01-10
  • 打赏
  • 举报
回复
<form name="dynamiccombo" method="post" runat="server">
<select name="stage2" size="0" onchange="displaysub()">
<option value="#1" selected>this is a place</option>
<option value="#2">this is a place</option>
<option value="#3">this is a place</option>
<option value="#4">this is a place</option>
</select>
<input type="button" name="btgo" value="GO!" onclick="gothere()">
</form>
<script language="javascript">
function gothere()
{
var cacheobj = document.dynamiccombo.stage2;
alert(cacheobj.value);
}
function displaysub()
{
var cacheobj = document.dynamiccombo.stage2;
alert(cacheobj.value);
}
</script>
singlezym 2006-01-10
  • 打赏
  • 举报
回复
没错,即使多了个空格也不提示错的。把它输出,试一下:
<form name="dynamiccombo" method="post" runat="server">
<select name="stage2" size="0" onchange="displaysub()">
<option value="#1" selected>this is a place</option>
<option value="#2">this is a place</option>
<option value="#3">this is a place</option>
<option value="#4">this is a place</option>
</select>
<input type="button" name="btgo" value="GO!" onclick="gothere()">
</form>
<script language="javascript">
function gothere()
{
var cacheobj=document.dynamiccombo .stage2 ;
alert(cacheobj.value);
}
</script>
jerrie_1 2006-01-10
  • 打赏
  • 举报
回复
TO:
meizz(梅花雪)

查了一下源文件,为何变成这样
<form name="_ctl0" method="post" action="combo box.aspx" id="_ctl0">

meizz 2006-01-10
  • 打赏
  • 举报
回复
document.dynamiccombo .stage2
^ 这里好象多了一个空格

在浏览器里直接右键查看网页源代码,看看这个控件在浏览器的具体name,对应好就不会错了

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧