0

I want to hide the button when the tab is 2. Always get an error.

<script type="text/javascript">

function clientActiveTabChanged(sender, args) {
if ((sender.get_activeTabIndex()) == '2')
{
    alert(sender.get_activeTabIndex());
    var messageElement = document.getElementById('<%= divMessage.clientID%>').value;
    messageElement.style.display = 'block';
}
}
</script>

<body>
<form id="form1" runat="server">
 <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" 
    EnableScriptGlobalization="True"></asp:ToolkitScriptManager>

<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0"  
            Width="100%" BorderStyle="None" OnClientActiveTabChanged="clientActiveTabChanged"> 

     <asp:TabPanel runat="server"  ID="TabPanel1"> 
      <HeaderTemplate>Test1</HeaderTemplate>
      <ContentTemplate></ContentTemplate>
    </asp:TabPanel>

  <asp:TabPanel runat="server"  ID="TabPanel2"> 
      <HeaderTemplate>Test2</HeaderTemplate>
      <ContentTemplate></ContentTemplate>
    </asp:TabPanel>

  <asp:TabPanel runat="server"  ID="TabPanel3"> 
      <HeaderTemplate>Test3</HeaderTemplate>
      <ContentTemplate></ContentTemplate>
    </asp:TabPanel>

 </asp:TabContainer>
 <div runat="server" id="divMessage" style="display: none;">
 <asp:Button ID="Button1" runat="server" Text="Button" />
</div> 


</form>

</body>
</html>
Tim Schmelter
  • 450,073
  • 74
  • 686
  • 939
  • 1
    _"Always get an error"_ I'm missing the error. – Tim Schmelter Nov 05 '13 at 11:28
  • [HttpException (0x80004005): De Controls-verzameling kan niet worden gewijzigd omdat het besturingselement codeblokken bevat (i.e. <% ... %>).] System.Web.UI.ControlCollection.Add(Control child) +9600651 – user2955995 Nov 05 '13 at 12:17

1 Answers1

0

You are using .value on the button element. This returns the text of the button which is a string and does not have a style. The following should work. also, you mentioned you wanted to hide it, yet you set the display to block. It should be none.

var messageElement = document.getElementById('<%= divMessage.clientID%>');
messageElement.style.display = 'block';
helios456
  • 1,624
  • 16
  • 24
  • In this way:function clientActiveTabChanged(sender, args) { if ((sender.get_activeTabIndex()) == '2') { alert(sender.get_activeTabIndex()); var messageElement = document.getElementById('<%= divMessage.clientID%>'); messageElement.style.display = 'none'; } } – user2955995 Nov 05 '13 at 12:15
  • Error: [HttpException (0x80004005): De Controls-verzameling kan niet worden gewijzigd omdat het besturingselement codeblokken bevat (i.e. <% ... %>).] System.Web.UI.ControlCollection.Add(Control child) +9600651 – user2955995 Nov 05 '13 at 12:16