prateek
prateek

Reputation: 57

panel visibility java script

<asp:Panel ID="FilterPanel" runat="server" CssClass="FilterBorder" 
                      Visible="false">
<table width="100%" cellspacing="4">
        <tr>
            <td class="FilterPanelFilterControlWidth">
        <Uc:Filter ID="Filter" runat="server" />
    </td>
    <td class="CenterInCell">
        <Controls:BrButton ID="GoButton" runat="server" Text="Go" 
                   CausesValidation="true" SkinID="VerySmallButton" 
                   OnClick="GoButton_Click" />
    </td>
    </tr>
   </table>
</asp:Panel>

i am setting the visibilty of my filter panel as false.. by default..

on the click of show/hide filter i want to change it to visible = true. this i am doing by javascript..like this

function showHideFilter() {
    if (document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterShowHideHiddenField').value == 'true') {
        document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterPanel').style.display = 'none';
        document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterPanel').style.visibility = 'hidden';
        document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterShowHideHiddenField').value = 'false';
        return false;
    }
    else {
        document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterPanel').style.display = 'inline';
        document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterPanel').style.visibility = 'visible';
        document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterShowHideHiddenField').value = 'true';
        return false;
    }
}

however becaus ethe visible is set to false.. i get runtime error like this required object is set to null..below..

document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterPanel').style.display = 'inline';

document.getElementById('ctl00_ContentPlaceHolder1_ctl00_FilterPanel').style.visibility = 'visible';

where am i going wrong..!!

Upvotes: 0

Views: 1547

Answers (1)

Al Kepp
Al Kepp

Reputation: 5980

When visible="false" and runat="server", then that object is not sent from server to client. So you cannot make it visible by javascript, you need to do it on server.

Upvotes: 1

Related Questions