<form name="form1" action=""><SELECT ID="oCourses" SIZE="1" onchange="fnChange()">
<OPTION VALUE="" SELECTED>--请选择一个--</option>
</SELECT>
<TEXTAREA ID="oData1"></TEXTAREA>
<input type="text" ID="oData">
<script language=javascript>
//假设从数据库中查询到的用户上次选择结果项的值为"3"
var last_select = "3"; 
oCourses=document.all.oCourses//重新赋值
//下面的代码为列表框增加三个选择项
var oOption = document.createElement("OPTION");
oOption.text = "vc";
oOption.value = "1";
oCourses.add(oOption); oOption = document.createElement("OPTION");
oOption.text = "vb";
oOption.value = "2";
oCourses.add(oOption); oOption = document.createElement("OPTION");
oOption.text = "java";
oOption.value = "3";
oCourses.add(oOption);
/*用户在修改和查看上次的设置信息时,程序应自动选中他上次的设置结果项,下面的一条简单语句就可以实现这个功能。*/
oCourses.value = last_select;
/*下面的fnChange函数在用户每次改变选择时都将选择结果显示在一个文本框中*/
function fnChange()
{
oData.value = oCourses.options[oCourses.selectedIndex].value;
}
</script></form>
错误:oCourses对象发生改变
解决:oCourses=document.all.oCourses重新赋值

解决方案 »

  1.   

    因为你的DOM结构已经改变,要取对象要写成form1.oCourses
    或者全写成document.getElementById("oCourses")
      

  2.   

    先谢谢上面两位我不是很懂.是不是把--oCourses.add(oOption)---改成form1.oCourses.add(oOption)先试看看,再次感谢
      

  3.   

    对不起,能不能再帮我一下.我改成这样<form name="form1" action=""><SELECT ID="oCourses" SIZE="1" onchange="fnChange()">
    <OPTION VALUE="" SELECTED>--请选择一个--</option>
    </SELECT>
    <TEXTAREA ID="oData1"></TEXTAREA>
    <input type="text" ID="oData">
    <script language=javascript>
    //假设从数据库中查询到的用户上次选择结果项的值为"3"
    var last_select = "3";  //下面的代码为列表框增加三个选择项
    var oOption = document.createElement("OPTION");
    oOption.text = "vc";
    oOption.value = "1";
    form1.oCourses.add(oOption); oOption = document.createElement("OPTION");
    oOption.text = "vb";
    oOption.value = "2";
    form1.oCourses.add(oOption); oOption = document.createElement("OPTION");
    oOption.text = "java";
    oOption.value = "3";
    form1.oCourses.add(oOption);
    /*用户在修改和查看上次的设置信息时,程序应自动选中他上次的设置结果项,下面的一条简单语句就可以实现这个功能。*/
    form1.oCourses.value = last_select;
    /*下面的fnChange函数在用户每次改变选择时都将选择结果显示在一个文本框中*/
    function fnChange()
    {
    form1.oData.value = oCourses.options[oCourses.selectedIndex].value;
    }
    //因为你的DOM结构已经改变,要取对象要写成form1.oCourses
    //或者全写成document.getElementById("oCourses")</script></form>原来下拉框里的内容无法出现的问题是解决了.但,我选择下拉框里的东西的时候,在旁边的文本框里会有内容出现的.现在,这个内容没了.这应该如何处理?谢谢.还有,原来打开页面的时候,下拉框里默认的值是--请选择一个--,现在变成了java,能不能再帮我一下,谢谢.