none
JS缺少标识符 RRS feed

  • 问题

  •  

    代码如下:

     

              

    Code Snippet
      <asp:DropDownList ID="Dp_zhiwei_big" runat="server" DataSourceID="DataSource_soI" DataTextField="zhongName" DataValueField="zhongID" onchange="change_zhiwei(document.&lt;%=form1.ClientID%&gt;.<%=Dp_zhiwei_big.ClientID%>.options[document.<%=form1.ClientID%>.<%=Dp_zhiwei_big.ClientID%>.selectedIndex].value)" >

     

     

    错误提示:缺少标识符
    2008年5月23日 3:08

答案

  •  孟宪会 写:

     

    Code Snippet

    服务器控件 不能使用<%%>,里面的服务器端代码不会执行

     

    你可以这样

    <Script>

    function change_zhiwei(obj)

    {

      alert(obj.options[obj.selectedIndex].value)

    }

    </script>

    <asp:DropDownList ID="Dp_zhiwei_big" runat="server" DataSourceID="DataSource_soI" DataTextField="zhongName" DataValueField="zhongID" onchange="change_zhiwei(this)" >

     

     

     

    原来是这样啊?!

    谢谢!

    我试试。

    2008年5月23日 9:46

全部回复

  • Code Snippet
    &lt;%=form1.ClientID%&gt

     

     

    Code Snippet
    <%=form1.ClientID%>

     

     

     

    2008年5月23日 3:51
    版主
  •  

    id都是字符串类型的,需要加'号

    Code Snippet

     

     

    onchange="change_zhiwei(document.getElementById('<%=Dp_zhiwei_big.ClientID%>').options[document.getElementById('<%=Dp_zhiwei_big.ClientID%>').selectedIndex].value)"

     

     

    另外。document.formName.selectName

    不是document.formID.selectID

    2008年5月23日 4:42
    版主
  •  feiyun0112 写:

    Code Snippet
    &lt;%=form1.ClientID%&gt

     

     

    Code Snippet
    <%=form1.ClientID%>

     

     

     

     

     

    不行的。我本来就是后面那种写法,可是解析过以后就变前面那种写法了。

    2008年5月23日 8:40
  •  孟宪会 写:

     

    id都是字符串类型的,需要加'号

    Code Snippet

     

     

    onchange="change_zhiwei(document.getElementById('').options[document.getElementById('').selectedIndex].value)"

     

     

    还是不行啊。

    这是我原来写的:

    Code Snippet

    <asp:DropDownList ID="Dp_zhiwei_big" runat="server" DataSourceID="DataSource_soI" DataTextField="zhongName" DataValueField="zhongID" onchange="change_zhiwei(document.form1.<%=Dp_zhiwei_big.ClientID%>.options[document.form1.<%=Dp_zhiwei_big.ClientID%>.selectedIndex].value)" >

     

    解析过以后:

    <select name="soI1$Dp_zhiwei_big" id="soI1_Dp_zhiwei_big" onchange="change_zhiwei(document.form1.&lt;%=Dp_zhiwei_big.ClientID%>.options[document.form1.&lt;%=Dp_zhiwei_big.ClientID%>.selectedIndex].value)">

     

     

     

    2008年5月23日 8:51
  •  孟宪会 写:

     

    id都是字符串类型的,需要加'号

    Code Snippet

     

     

    onchange="change_zhiwei(document.getElementById('').options[document.getElementById('').selectedIndex].value)"

     

     

    另外。document.formName.selectName

    不是document.formID.selectID

     

    Code Snippet

    然后又用你教的方法:

    <asp:DropDownList ID="Dp_zhiwei_big" runat="server" DataSourceID="DataSource_soI" DataTextField="zhongName" DataValueField="zhongID" onchange="change_zhiwei(document.getElementById('<%=Dp_zhiwei_big.ClientID%>').options[document.getElementById('<%=Dp_zhiwei_big.ClientID%>').selectedIndex].value)" >

     

    解析过以后:

    <select name="soI1$Dp_zhiwei_big" id="soI1_Dp_zhiwei_big" onchange="change_zhiwei(document.getElementById('&lt;%=Dp_zhiwei_big.ClientID%>').options[document.getElementById('&lt;%=Dp_zhiwei_big.ClientID%>').selectedIndex].value)">

     

     

    还是不行。

    2008年5月23日 8:54
  •  

    Code Snippet

    服务器控件 不能使用<%%>,里面的服务器端代码不会执行

     

    你可以这样

    <Script>

    function change_zhiwei(obj)

    {

      alert(obj.options[obj.selectedIndex].value)

    }

    </script>

    <asp:DropDownList ID="Dp_zhiwei_big" runat="server" DataSourceID="DataSource_soI" DataTextField="zhongName" DataValueField="zhongID" onchange="change_zhiwei(this)" >

     

     

    2008年5月23日 9:43
    版主
  •  孟宪会 写:

     

    Code Snippet

    服务器控件 不能使用<%%>,里面的服务器端代码不会执行

     

    你可以这样

    <Script>

    function change_zhiwei(obj)

    {

      alert(obj.options[obj.selectedIndex].value)

    }

    </script>

    <asp:DropDownList ID="Dp_zhiwei_big" runat="server" DataSourceID="DataSource_soI" DataTextField="zhongName" DataValueField="zhongID" onchange="change_zhiwei(this)" >

     

     

     

    原来是这样啊?!

    谢谢!

    我试试。

    2008年5月23日 9:46
  • Code Snippet

     

    <script type="text/javascript">
    function change_zhiwei(obj)
    {

    change_zhiwei(document.getElementById('<%=Dp_zhiwei_big.ClientID%>').options[document.getElementById('<%=Dp_zhiwei_big.ClientID%>').selectedIndex].value)

    }
    </script>

     

     

                <asp:DropDownList ID="Dp_zhiwei_big" runat="server" DataSourceID="DataSource_soI"
                    DataTextField="zhongName" DataValueField="zhongID" onchange="change_zhiwei(this)">
                </asp:DropDownList>

     

    错误提示:out of memory at line:114

     

     

    2008年5月24日 2:43
  • Code Snippet

     

     

    我不明白你为什么还要写

    document.getElementById('<%=Dp_zhiwei_big.ClientID%>').

     

     

    obj就是 Dp_zhiwei_big 对象了,为什么还要写一遍?

    函数循环调用能不出错吗??

     

    function change_zhiwei(obj)

    {

     //你要做什么操作写这里!!!!

     

    }

     

    2008年5月24日 3:31
    版主
  •  

    是我错了。

    不过,问题又有新的了……

    2008年6月2日 10:19