Javascript函数在PageLoad上隐藏HTML文本框
本文关键字:HTML 文本 隐藏 函数 PageLoad Javascript | 更新日期: 2023-09-27 18:34:11
因此,我在网站的顶部的母版页中有一个搜索文本框,我希望在用户转移到我的搜索页时消失该文本框。我的文本框是这样写的:
<div class = "SearchBox">
<form action="javascript:searchSite()">
<input type="text" id="searchIn" />
</form>
</div>
我能想到的最好的方法是在我的搜索页面的 PageLoad 事件上运行一些 JavaScript,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ClientScript.RegisterStartupScript(this.GetType(), "show", "<script>document.getElementById('searchIn').style.display = 'none'</script>");
}
}
我相当确定javascript是有效的,因为有时文本框会消失一两秒钟。无论如何,它会立即回来,不会一直隐藏。 我有一个asp:Textbox,我可以使用以下方法轻松隐藏:
Site1 m = Master as Site1;
m.OtherTextBox.Visible = false;
我不明白为什么隐藏HTML文本框如此困难。关于如何解决这个问题的任何建议或想法将不胜感激!
Page_Load
是服务器端事件,但您还必须等待元素在客户端加载。您可以将 js 代码包装在 window.onload
处理程序中:
this.ClientScript.RegisterStartupScript(this.GetType(), "show", "<script>window.onload = function() { document.getElementById('searchIn').style.display = 'none'; }</script>");
另外,按照 SLaks 的说明使用display: none
。
display: hidden
不是有效的CSS值。
你想要display: none
.