2012-05-08 31 views
0

我在aspx頁面上有像textbox,dropdownlsit等服務器端控件,我的目標是在頁面加載期間隱藏它們。在PageLoad中使用javascript處理頁面控件

使用下面的代碼,控件在頁面加載期間被隱藏,但我注意到閃爍。所需的輸出應該消除這種控制閃爍。任何幫助是極大的讚賞。需要這樣你就不必帶出,同時

在HTML後隱藏控件的問題時

var ispostBack =false; 
function pageLoad() { 
    $(document).ready(function() { 
     HideCtrls(); 
//Some other code here 
    } 

function HideCtrls() 
{ 
    document.getElementById("cph1_divSear").style.setAttribute('display', '') 
    if (document.getElementById("cph1_txtSearch")) 
    { 
     document.getElementById("cph1_txtSearch").style.setAttribute('display', 'none') 
     document.getElementById("cph1_txtkey").style.setAttribute('display', 'none') 
     document.getElementById("cph1_hypProjNo").style.setAttribute('display', 'none') 
     document.getElementById("cph1_ddlSeaSingle").style.setAttribute('display', 'none') 
     document.getElementById("cph1_txtSeaStart").style.setAttribute('display', 'none') 
     document.getElementById("cph1_txtSeaEnd").style.setAttribute('display', 'none') 
     document.getElementById("cph1_txtSeFLike").style.setAttribute('display', 'none') 
     document.getElementById("cph1_imgSeaSt").style.setAttribute('display', 'none') 
     document.getElementById("cph1_txtSeTLike").style.setAttribute('display', 'none') 
     document.getElementById("cph1_imgSeaEnd").style.setAttribute('display', 'none') 
     document.getElementById("cph1_txtPersonnel3").style.setAttribute('display', 'none') 
     document.getElementById("cph1_ImageButton3").style.setAttribute('display', 'none') 
     document.getElementById("likeFID").style.setAttribute('display', 'none') 
     document.getElementById("likeTID").style.setAttribute('display', 'none') 
     document.getElementById("dtFID").style.setAttribute('display', 'none') 
     document.getElementById("dtTID").style.setAttribute('display', 'none') 
    } 
} 

<div id="divSear" runat="server" class="cols4Search"> 
          <span> 
           <asp:TextBox ID="txtSearch" runat="server" Width="350px"></asp:TextBox> 
           <asp:TextBox ID="txtkey" runat="server" onblur="ClearHelp()" onfocus="JavaScript:showhelp('Search_1001')" 
            Width="400px" MaxLength="150"></asp:TextBox></span> <span style="display: none;"> 
             <asp:HyperLink ID="hypProjNo" runat="server" Target="_blank" ForeColor="Blue">View</asp:HyperLink> 
            </span><span> 
             <asp:DropDownList ID="ddlSeaSingle" runat="server" AutoPostBack="True"> 
             </asp:DropDownList> 
            </span><span id="likeFID">>=<asp:TextBox ID="txtSeFLike" runat="server" MaxLength="9"></asp:TextBox></span> 
          <span id="likeTID"><=<asp:TextBox ID="txtSeTLike" runat="server" MaxLength="9"></asp:TextBox></span> 
          <span id="dtFID">>=<asp:TextBox ID="txtSeaStart" runat="server" Width="85px"></asp:TextBox></span> 
          <span> 
           <asp:ImageButton ID="imgSeaSt" runat="server" CssClass="dateicon" ImageUrl="~/Images/date_icon.png" /></span> 
          <span id="dtTID"><=<asp:TextBox ID="txtSeaEnd" runat="server" Width="85px"></asp:TextBox></span> 
          <span> 
           <asp:ImageButton ID="imgSeaEnd" runat="server" CssClass="dateicon" ImageUrl="~/Images/date_icon.png" /></span> 
          <span> 
           <asp:TextBox ID="txtPersonnel3" runat="server" CssClass="textbox" onblur="ClearHelp()" 
            Width="160px" onfocus="JavaScript:showhelp('AdminUserDetails_1001')"></asp:TextBox></span> 
          <span> 
           <asp:ImageButton ID="ImageButton3" runat="server" ImageUrl="~/Images/searchtool.png" 
            ToolTip="Select User" CssClass="iconalign" /></span> 
          <br /> 
          <asp:Label ID="lblNote" Visible="false" CssClass="Notelabel" runat="server" /> 
         </div> 

回答

0

隱藏所有的服務器控件,它們顯示在客戶端

<asp:TextBox ID="txtSearch" style="display:none" Visible="False" Width="350px"></asp:TextBox> 

或在代碼後面

txtSearch.Attributes.Add("style", "display:none"); = "false"; 

並在需要時在JavaScript中顯示它們

if (document.getElementById("cph1_txtSearch")) 
{ 
    document.getElementById("cph1_txtSearch").style.setAttribute('display', 'block') 
    //Similarly you can show all field which are required to be shown 
    // ......... 
} 
+0

是的,如果你想顯示/隱藏服務器上的控件,你可以這樣做txtSearch.Visible = false;和txtSearch.Visible = true;在代碼後面。 – Adil

+0

上面的代碼工作..謝謝你的幫助.. –

相關問題