我想在asp.net中配置一个超链接来关闭/打开它的相关div。基本上,当用户点击符号X时,面板应该关闭并且应该出现符号+。单击+时,应再次显示该面板。我无法管理这个,我相信我的主要问题是“document.getElementById('<%= lb_closePanel.ClientID%>')。”value“即将定义为未定义。这是迄今为止的代码。感谢您的帮助!
<!DOCTYPE html>
....
<div class="appheader">
<h1 class="appheaderContent">Search for Client</h1>
<div id="checkBox"></div>
<div id="closePanel"><h2 id="lblClosePanel">Close Panel</h2>
<div id="xButton">
<asp:LinkButton onclientclick="CloseOpenPanel('Search')" runat="server" Text="X" style="text-decoration:none; color:white" ID="lb_closePanel"></asp:LinkButton>
</div>
</div>
</div>
<div class="app" id="Search">
...
<div>
...
</html>
<script type="text/javascript">
function CloseOpenPanel(obj) {
alert(document.getElementById('<%= lb_closePanel.ClientID %>').value); //here it comes undefined!!!!
if (document.getElementById('<%= lb_closePanel.ClientID %>').value == 'X') {
document.getElementById(obj).Visible = false;
lb_closePanel.Text = '+';
}
else {
document.getElementById(obj).Visible = true;
lb_closePanel.Text = 'X';
}
}
</script>
答案 0 :(得分:0)
不要使用.value,而是尝试使用.innerHTML来获取链接按钮内的文本(呈现为标记)
答案 1 :(得分:0)
您的代码没问题,只是代替属性value
使用innerHTML
alert(document.getElementById('<%= lb_closePanel.ClientID %>').innerHTML);