document.getElementById()从DropDownList返回NULL获取值

时间:2013-07-17 20:48:14

标签: javascript asp.net

我有这段代码:

<td style="text-align: center;">
            <asp:DropDownList ID="ddlOpRep" runat="server" Width="70px">
                <asp:ListItem Value="1">1</asp:ListItem>
                <asp:ListItem Value="2">2</asp:ListItem>
                <asp:ListItem Value="3">3</asp:ListItem>
            </asp:DropDownList>
        </td>

现在我想在ddlOpRep中显示带有所选值的确认消息:

<asp:Button ID="btnRelease" runat="server" Text="Release" Width="130px" 
         OnClientClick="return confirmRelease();" onclick="btnRelease_Click" />

<script type="text/javascript">
    function confirmRelease() {
        var OpRep = document.getElementById("ddlOpRep");           

        return confirm('Are you sure you want to release this configuration: OpRep: ' + OpRep + ' ?');
    }
</script>

但我在null

获得了var OpRep = document.getElementById("ddlOpRep");

甚至没有获得var OpRep = document.getElementById("ddlOpRep").value;

的可能性

3 个答案:

答案 0 :(得分:2)

这是ASP.NET,获取ClientID

var OpRep = document.getElementById("<%= ddlOpRep.ClientID %>");

答案 1 :(得分:2)

在javascript函数中,您需要传递下拉列表的实际生成ID。所以你可以得到像这样的客户端ID

document.getElementById("<%= ddlOpRep.ClientID %>");

或您可以在下拉列表属性中设置ClientIdMode="Static"

<asp:DropDownList ID="ddlOpRep" runat="server" Width="70px" ClientIdMode="Static">

答案 2 :(得分:0)

使用ClientID获取元素,因为您使用的是ASP.NET。 看起来应该是这样的:

var newObject = document.getElementById("<%= ASPObject.ClientID %>");

其中ASPObject是您要查找的ASP.NET对象。