JavaScript document.form1.prov.options 为空或不为对象

问题描述

我要做一个省份和城市联动的控件.<selectname="prov"id="prov"onChange="changelocation(document.form1.prov.options[document.form1.prov.selectedIndex].value)"style="width:120px"language="javascript"onclick="returnprov_onclick()"runat="server"><optionvalue=""selected>===选择省份===</option><optionvalue=北京市>北京市</option><optionvalue=天津市>天津市</option><optionvalue=上海市>上海市</option>...</select>这是省份的下拉菜单.<selectname="city"id="city"style="WIDTH:120px"runat="server"></select>这是城市的下拉菜单.<scriptlanguage="JavaScript">varonecount;onecount=0;subcat=newArray();subcat[0]=newArray("石家庄市","河北省","石家庄市");subcat[1]=newArray("唐山市","河北省","唐山市");subcat[2]=newArray("秦皇岛市","河北省","秦皇岛市");....onecount=341;functionchangelocation(locationid){document.form1.city.length=0;varlocationid=locationid;vari;for(i=0;i<onecount;i++){if(subcat[i][1]==locationid){document.form1.city.options[document.form1.city.length]=newOption(subcat[i][0],subcat[i][2]);}}}</script>这是js.现在出现的问题是当省份和城市的下拉菜单不作为服务器控件运行时是可以用的.但是我给他们加上runat="server"这句话后就出现标题上的错误,是什么原因呢?

解决方案

解决方案二:
但是我给他们加上runat="server"这句话后就出现标题上的错误====加上之后,select的客户端name/id可能发生了变化除了查看生成的html源码,硬编码进入id以外,你可以动态的绑定通过prov.ClientID/UniqueID获取客户端id/name其实你这里只要changelocation(this.value)<selectname="prov"id="prov"onChange="changelocation(this.value)"style="width:120px"language="javascript"onclick="returnprov_onclick()"runat="server">
解决方案三:
或者changelocation(document.form1.<%=prov.ClientID%>.options[document.form1.<%=prov.ClientID%>.selectedIndex].value)

时间: 2024-11-01 18:10:24

JavaScript document.form1.prov.options 为空或不为对象的相关文章

js 解决“options为空或不是对象”_表单特效

昨天在做ip/pv统计的页面的时候遇到一个奇怪的问题,我在页面里放了一个select控件,控件的id是selectMonth但用js动态增加它的option的时候,老提示脚本错误:"options为空或不是对象",但用document.form1.xx或document.getElementById是能取到对象的. 找了好久都找不到原因,没办法,只有绕一条远路,在原来放select控件的放一个div,然后用js动态创建一个select,然后把select放到div里. 本来就这样算了,

&amp;amp;#x27;document.getElementById(...)&amp;amp;#x27; 为空或不是对象

问题描述 请大家帮忙看看.functiont_setpw(gname,btnid,msg){vargv=document.getElementById(gname);varcb=document.getElementsByTagName("input");varj=0;varselectedvalue="";for(vari=0;i<cb.length;i++){if(cb[i].type=="checkbox"&&cb[i

错误: &amp;amp;#x27;document.form1.Hidden1&amp;amp;#x27; 为空或不是对象

问题描述 在一个aspx页面中,有一个html控件input(隐藏),用于获取该页面中的一个插件的值.这个页面中还有一个html控件button,单击它时取得该页面中插件的值.页面代码如下面所示.<formid="form1"runat="server"><div><inputname="Hidden1"runat="server"id="Hidden1"type="

&amp;amp;#x27;$.data(...).options&amp;amp;#x27; 为空或不是对象

问题描述 $(function(){varcWidth=$(document.body).width()-10;varcHeight=$(document.body).height()-27;$("#state").combobox({valueField:'lable',textField:'value',data:getMyCombboxData($($('#itabs').tabs('getSelected')).attr('id'))});$('#itabs').tabs({o

js为空或不是对象问题的快速解决方法

 这篇文章主要介绍了js为空或不是对象问题的快速解决方法.需要的朋友可以过来参考下,希望对大家有所帮助 1.加了个参数<script language="javascript" defer="defer">   2. 'null'为空或不是对象:   <script type="text/javascript"> 里面加个defer=true属性试试看,   即:<script type="text/jav

js为空或不是对象问题的快速解决方法_javascript技巧

1.加了个参数<script language="javascript" defer="defer"> 2. 'null'为空或不是对象: <script type="text/javascript"> 里面加个defer=true属性试试看, 即:<script type="text/javascript" defer=true> 3. document.getElementById为nu

javascript代码在ie8里报错 document.getElementById(...) 为空或不是对象的解决方法[原创]_javascript技巧

ie8中对于声明文档类型更加严格如下面的代码. 运行环境: 清空 Windows平台 S60v2 S60v3 CHM PDF PPT WORD EXCEL asp asp+access asp+sqlserver asp+sql/access php源码 php php+mysqljsp asp.net源码 asp.net asp.net+access asp.net+sql asp.net+sql/access [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 可以看到这段代码在ie

document.form1.submit();不执行 怎么回事???

问题描述 function submitForm(){ <c:if test="${entity.type==2}"> if(${sessionScope.web_login_success==null}){ alert("请登录以后用积分兑换"); return; }else if('${sessionScope.web_login_success.integral}'<document.getElementById('numbers').val

javascript document.referrer 用法_javascript技巧

举例: 1. a.html文件内容如下: <a href="b.html">浏览b.html </a> 2. b.html文件中的内容如下: <body> <script type="text/javascript"> document.write(document.referrer); </script> </body> 3. 则在通过a.html中的超链接访问b.html的时候,显示的结果是