怪哉!数组问题//web窗体
<%@ Page language="c#" Codebehind="note.aspx.cs" AutoEventWireup="false" Inherits="SUBBS.note" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>note</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
          ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
          ┃       要在这里作点改变  取名为“位置1” (也就是加脚本)           ┃
          ┃                                                                    ┃
          ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
</HEAD>
        ///////////////////////////////加入onload事件/////////
<body MS_POSITIONING="GridLayout" onload="fillList(document.all.select1)">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
                                //加上id
<SELECT Id="select1" style="Z-INDEX: 101; LEFT: 232px; WIDTH: 192px; POSITION: absolute; TOP: 368px; HEIGHT: 24px">
<OPTION selected></OPTION>
</SELECT></FONT>
</form>
</body>
</HTML>
//该函数位于Jscript脚本文件 kook.js内 function fillList(sender) //sender 为dropdownlist对象(select元素)
{
var listItems=new Array("abc","def","hijk","niu"); ////这里也要改
if (sender!=null)
  for(key in listItems)
     sender.options[key]=new Option(provinces[key],provinces[key]);
}
//该函数不用说了吧
//实验1----------------------------------
//在位置1加入
<script language=javascript src="kook.js">
//运行可以通过一切正常//实验2----------------------------------
//打开脚本文件kook.js,把var listItems=new Array("abc","def","hijk","niu");改为
var listItems=new Array("张三","李四","王二","niu"); //如果只有两个中文元素可以通过调试//不过是乱码
///保存运行调试  错误“缺少对象”而且给出的错误信息中行号和列号均不对//实验3----------------------------------
//把kook.js文件中的 fillList函数复制到webform的位置1处并稍作修改<script language=javascript src="kook.js">中的
//language=javascript
//最终位置1处的代码为
                <script language=javascript src="kook.js"> ////
function fillList(sender) //sender 为dropdownlist对象(select元素)
{
var listItems=new Array("abc","def","hijk","niu"); ////这里也要改
if (sender!=null)
  for(key in listItems)
     sender.options[key]=new Option(provinces[key],provinces[key]);
}
                </script>////
运行调试可以通过一切正常通过实验得:
1.jscript脚本文件里的中文信息会产生错误//我想应该可以加上编译信息的吧不知请教中...?
2.为何调试错误的信息给出的不正确?
3.为何把函数考到客户端脚本里就不会错?
4.这个问题或许是很简单的问题,但是我却搞了半天,我老想成是代码语法错误(这个只是部分代码)真是人都不想做了,变蝴蝶吧!
5.一个人搞成长太慢太慢了。
6.请您帮忙解答一下感谢!

解决方案 »

  1.   

    根正实验3 中
    var listItems=new Array("abc","def","hijk","niu");
    应为
    var listItems=new Array("张三","李四","王二","niu");
      

  2.   

    加上
    <META http-equiv="Content-Type" content="text/html; charset=gb2312">
    试试
      

  3.   

    var listItems=new Array("张三","李四","王二","niu");  ////这里也要改
    if (sender!=null)
      for(key in listItems)
      {
    //  debugger;
    oOption = document.createElement("OPTION");
    oOption.value=key;
    oOption.text = listItems[key];
    sender.add( oOption);
      }
    我没有provinces的信息,所以改了部分代码,没有问题啊,是不是系统的问题
      

  4.   

    是的我是摘了部分出来所以你该的对 但是
    只要你把数组用中文来做 单独放到脚本文件里,
    WEb穿体里加入<script language=javascript src=kook.js></script>
    不用调用里面的函数一运行就出错了! 数组是英文的没有问题! 我从网上下的脚本只要含有中文数组就无法运行真是怪哉! 我用的是.net framework 2.0 bata2的版本好象每升级前就这样了,
    还有我的ASP.net连不上Access,(错误信息"操作必须使用一个可更新的查询。
    ")保证不是代码问题,连SQL server 没有问题 我的操作系统是 xp sp2
      

  5.   

    改成<!--#include file=kook.js-->
    就可以了,但我不想这样做
      

  6.   

    我的是在脚本文件里,aspx用<script src=...