我在search.ascx里放置了一个html的dropdown控件ddlArea,并设置了它的runat=server
<SELECT id="ddlArea" name="ddlArea" runat="server">
<OPTION value="0">选择区域</OPTION>
<OPTION value="1">1</OPTION>
<OPTION value="2" selected>2</OPTION>
<OPTION value="3">3</OPTION>
</SELECT>
现在我想在客户端判断这个控件的选中值,
<script language="javascript">
{
function chk()
{
if (document.Form1.ddlArea.value =="0")
{
window.alert("请选择服务类型");
return false
}
return true;
}
}
</script>
但运行时却提示找不到这个控件,我一看解析后的源代码,ddlArea的名字变成了Search1:ddlArea ,
请问我怎么才能在javascript里得到这个控件的选中值?谢谢!

解决方案 »

  1.   

    试了,还是不行另外,我为了让这个用户控件能通用,把form1 runat=server中的runat=server去掉了,因为别的页面有form runat=server,那个同一个页面有两个form runat=server,就会出错
      

  2.   

    var ddl = document.getElementById("Search1:ddlArea");
    ddl.options[ddl.selectedIndex].value ;
    or
    ddl.options[ddl.selectedIndex].text;
      

  3.   

    用户控件中不要加
    <form>标签,加在页面中即可
    把导入用户控件的语句放在页面中<form></form>标签之间
      

  4.   

    <script language="javascript">
    {
    function chk()
    {
    if (document.getElementById("<%=ddlid%>").value=="0";)
    {
    window.alert("请选择服务类型");
    return false
    }
    return true;
    }
    }</script>后台 
    public string ddlid;
    .....
    ddlid=this.ddlArea.ClientID;