http://blog.csdn.net/zjyong0123/archive/2005/08/04/445968.aspx

解决方案 »

  1.   

    <option value="0" selected>>>>>请选择<<<<</option>
      <OPTION value='1' >开发人员</OPTION><OPTION value='2' >测试人员</OPTION><OPTION value='3' >通用 </OPTION>values--->改成value
    这么简单的我都看了半天,真晕
      

  2.   

    你既然用的是values集合,那就取values
    我改了一下,实现你的功能
    script language="JavaScript">function validate(theform)
    {//alert(document.input.knowledgeperson.options[document.input.knowledgeperson.selectedIndex].values);if (document.input.knowledgeperson.options[document.input.knowledgeperson.selectedIndex].values == "")
    {
                    alert("知识适用人员不能为空");
                    return false;
    }else{
    return true;
    }
    }
    </script>
    <form method="post" name="input" action="#" enctype="multipart/form-data" onSubmit="return validate(this)">
    <tr>
    <td bgcolor="#F8F8F8" width="20%">知识适用人员:</td>
    <td bgcolor="#FFFFFF"><select name="knowledgeperson"onChange=changelocation(document.input.knowledgeperson.options[document.input.knowledgeperson.selectedIndex].values)>
      <option value="0" selected>>>>>请选择<<<<</option>
      <OPTION values='1' >开发人员</OPTION><OPTION values='2' >测试人员</OPTION><OPTION values='3' >通用 </OPTION>
      </select></td>
    </tr>
    <tr>
    <td bgcolor="#F8F8F8" width="20%">知识适用阶段:</td>
    <td bgcolor="#FFFFFF">  <select name="knowledgeuse">
    <SCRIPT language=JavaScript>
    var onecount;onecount=0;
    subcat = new Array();
    subcat[0] = new Array(1,'全部阶段');
    subcat[1] = new Array(1,'可行性分析阶段');
    subcat[2] = new Array(1,'需求分析阶段');
    subcat[3] = new Array(1,'概要设计阶段');
    subcat[4] = new Array(1,'详细设计阶段');
    subcat[5] = new Array(1,'编码调试阶段');
    subcat[6] = new Array(1,'单元测试阶段');
    subcat[7] = new Array(1,'其它');
    subcat[8] = new Array(2,'全部阶段');
    subcat[9] = new Array(2,'可行性分析阶段');
    subcat[10] = new Array(2,'测试计划阶段');
    subcat[11] = new Array(2,'测试设计阶段');
    subcat[12] = new Array(2,'测试实施阶段');
    subcat[13] = new Array(2,'其它');
    subcat[14] = new Array(3,'全部阶段');
    onecount=15;
    function changelocation(locationid)
    {

    document.input.knowledgeuse.length = 0;
    var locationid=locationid;
    var i,flag=0;
    for (i=0;i < onecount; i++)
    {
    if (subcat[i][0] == locationid)
    {
    document.input.knowledgeuse.options[document.input.knowledgeuse.length] = new Option(subcat[i][1]);
    flag=1;
    }
    }
    if (flag==0)
    {document.input.knowledgeuse.options[document.input.knowledgeuse.length] = new Option('>>>>请先选择知识适用人员<<<<');
    }
    }</SCRIPT>
      <option value="" selected>>>>>请先选择知识适用人员<<<<</option>
      </select></td>
    </tr>
    <input type="submit" name="topicsubmit" value="提交新知识" tabindex="5">
    </form>
      

  3.   

    to  Fibona(Fibona):你给的代码我试了不行啊,没提示了,怎么解决?谢了
      

  4.   

    <script language="JavaScript">function validate(theform)
    {
    if (document.input.knowledgeperson.value == "")
    {
                    alert("知识适用人员不能为空");
                    return false;
    }else{
    return true;
    }
    }
    </script>
    <form method="post" name="input" action="" enctype="multipart/form-data" onSubmit="return validate(this)">
    <tr>
    <td bgcolor="#F8F8F8" width="20%">知识适用人员:</td>
    <td bgcolor="#FFFFFF"><select name="knowledgeperson" onChange=changelocation(this.value)>
      <option value="" selected>>>>>请选择<<<<</option>
      <OPTION value='1' >开发人员</OPTION><OPTION value='2' >测试人员</OPTION><OPTION value='3' >通用</OPTION><SCRIPT language=JavaScript>var onecount;onecount=0;subcat = new Array();subcat[0] = new Array(1,'全部阶段');subcat[1] = new Array(1,'可行性分析阶段');subcat[2] = new Array(1,'需求分析阶段');subcat[3] = new Array(1,'概要设计阶段');subcat[4] = new Array(1,'详细设计阶段');subcat[5] = new Array(1,'编码调试阶段');subcat[6] = new Array(1,'单元测试阶段');subcat[7] = new Array(1,'其它');subcat[8] = new Array(2,'全部阶段');subcat[9] = new Array(2,'可行性分析阶段');subcat[10] = new Array(2,'测试计划阶段');subcat[11] = new Array(2,'测试设计阶段');subcat[12] = new Array(2,'测试实施阶段');subcat[13] = new Array(2,'其它');subcat[14] = new Array(3,'全部阶段');onecount=15;function changelocation(locationid){document.input.knowledgeuse.length = 0;var locationid=locationid;var i,flag=0;for (i=0;i < onecount; i++){if (subcat[i][0] == locationid){document.input.knowledgeuse.options[document.input.knowledgeuse.length] = new Option(subcat[i][1]);flag=1;}}if (flag==0){document.input.knowledgeuse.options[document.input.knowledgeuse.length] = new Option('>>>>请先选择知识适用人员<<<<');}}</SCRIPT></select></td>
    </tr>
    <tr>
    <td bgcolor="#F8F8F8" width="20%">知识适用阶段:</td>
    <td bgcolor="#FFFFFF">  <select name="knowledgeuse">
      <option value="" selected>>>>>请先选择知识适用人员<<<<</option>
      </select></td>
    </tr>
    <input type="submit" name="topicsubmit" value="提交新知识" tabindex="5">
    </form>*****************
    主要是values笔误,改一下即可