【发布时间】:2014-11-24 10:34:07
【问题描述】:
当我使用 runat="server" 时,我在使用 document.getElementById("#divExternUser").style.display = "block"; 的 Javascript 上遇到问题
我有这个功能:
function displayHideShowDivExtern(element) {
switch(element.value) {
case "S":
document.getElementById("divOExternS").style.display = "block";
document.getElementById("divOExternM").style.display = "none";
break;
default:
document.getElementById("divOExternS").style.display = "none";
document.getElementById("divOExternM").style.display = "block";
}
}
在我的 aspx 上,当我将 runat="server" 放在 div 元素上时,我无法访问我的 DropDownList 元素(在 javascript 函数中)。
SCRIPT5007:无法获取属性“样式”的值:对象为空或未定义
<div id="divOExtern" style="display:block" >
Extern
<asp:DropDownList ID="ddlOExterna" runat="server" CssClass="txtBoxLarge" Height="20px" onchange="javascript:displayHideShowDivOExtern(this)">
<asp:ListItem Text="S -" Value="S" />
<asp:ListItem Text="T -" Value="T" />
<asp:ListItem Text="M -" Value="M" />
<asp:ListItem Text="O -" Value="O" />
</asp:DropDownList>
<p>
<div id="divOExternS" style="display:none" runat="server" >
S
<asp:DropDownList ID="ddlS" runat="server" CssClass="txtBoxLarge" Height="20px" />
</div>
<div id="divOExternT" style="display:none" runat="server" >
T
<asp:DropDownList ID="ddlT" runat="server" CssClass="txtBoxLarge" Height="20px" />
</div>
<div id="divOExternM" style="display:none" runat="server" >
M
<asp:DropDownList ID="ddlM" runat="server" CssClass="txtBoxLarge" Height="20px" />
</div>
<div id="divOExternO" style="display:none" runat="server" >
O
<asp:TextBox ID="txtEntities" runat="server" CssClass="txtBoxLarge" />
</div>
</p>
</div>
在 div 上使用 runat 之前,我可以毫无问题地访问。我不明白为什么!?
【问题讨论】:
-
您不应该将 div 元素放在 p 元素中。注意:与您的问题无关。
-
我用一个清晰的 div 元素改变我的 p
标签: javascript html asp.net