js控制DropDownList无法获得选中的值得有关问题

js控制DropDownList无法获得选中的值得问题
用js实现二级联动功能。效果看着没问题,就是无法获得代表二级分类的DropDownList控件选中的值。
二级分类控件DropDownList的每一项都是js生成的。
查了很多资料都没搞定。给位给解决一下呀。
以下是控制二级分类的代码
<%
    
Response.Write("<script language=javascript>");
Response.Write("var sidArr = new Array(");
  
string strSql = "select pid,id,cname from sortc where pid<>0 and chan='"+tab+"' order by pid asc, cor asc";  
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.SqlClient.SqlConnection conn = sql.getConn();
System.Data.SqlClient.SqlDataAdapter da=new System.Data.SqlClient.SqlDataAdapter(strSql,conn);
da.Fill(ds);
   
int itbRowCount = ds.Tables[0].Rows.Count;
int i = 0;
foreach(System.Data.DataRow row in ds.Tables[0].Rows)
{
      Response.Write("new Array('" + row[0].ToString() + "','" + row[1].ToString() + "','" + row[2].ToString() + "'),");
  
}
Response.Write("new Array('0','0','0')");
ds.Dispose();
ds = null;
Response.Write(");");
Response.Write("</script>");
%>
<script language="javascript" type="text/javascript">
function CIDonchange(sfId)
{
var dropSid=document.getElementById("sid");
if (sfId!="")
{
   var Dqstr="";j=0,p=0;
   for (i=0;i<sidArr.length;i++)
   {
    if (sidArr[i][0]==sfId)
    {
     j=j+1;
     Dqstr=Dqstr+sidArr[i][1]+","+sidArr[i][2]+",";
    }
   }
   dropSid.length=j+1;   //document.Form1.
   sidArr1=Dqstr.split(",");
   dropSid.options[0].value="0";
   dropSid.options[0].text = "selcid";   //document.Form1.  请选择小类
   for (i=1;i<=j;i++)
   {
    if(sidArr1[p] != null && sidArr1[p] != "")
    {
     dropSid.options[i].value = sidArr1[p]; //document.Form1.
     dropSid.options[i].text = sidArr1[p+1]; //document.Form1.
    }
    p=p+2;
   }
}
}
</script>
------解决方案--------------------
使用js动态生成表单控件需要给定name,同时要在表单中,后台再根据相应的name来获取值
------解决方案--------------------
用Request.Form["下拉的name"]来获取,不用用服务器端的 控件ID.Value,这样获取不到js设置的值