C# 在客户端上隐藏div单击
试图让这个div消失,似乎并没有做我期望它做的事情,我哪里做错了 它不会消失 Javascript:C# 在客户端上隐藏div单击,c#,javascript,asp.net,html,C#,Javascript,Asp.net,Html,试图让这个div消失,似乎并没有做我期望它做的事情,我哪里做错了 它不会消失 Javascript: <script type="text/javascript"> function Show_Hide_Display() { var div1 = document.getElementById("checkAvailability"); if (div1.style.display == "" || div1.style.display == "blo
<script type="text/javascript">
function Show_Hide_Display() {
var div1 = document.getElementById("checkAvailability");
if (div1.style.display == "" || div1.style.display == "block") {
div1.style.display = "none";
}
else {
div1.style.display = "block";
}
return false;
}
</script>
函数Show\u Hide\u Display(){
var div1=document.getElementById(“checkAvailability”);
if(div1.style.display==“”| | div1.style.display==“块”){
div1.style.display=“无”;
}
否则{
div1.style.display=“块”;
}
返回false;
}
HTML:
检查可用性
我希望按钮几乎完全隐藏起来。我想你最好看看这里的一些按钮。例如,您的代码可能如下所示:
$(document).ready(function(){
$('#yourbutton').click(function(){
$(this).toggle();
});
});
当然,在本例中,如果出于某种原因需要,也可以隐藏包装div。方法大致相同。将您的行更改为:
var div1 = document.getElementById("<%=checkAvailability.ClientID%>");
var div1=document.getElementById(“”);
原因是,当在客户端呈现checkAvailability控件时,它可能具有或不具有相同的id(checkAvailability),因为asp.net将在其id前面加上容器控件或其他逻辑的id
此
将始终为您提供客户端的实际id。除了@Icarus发布的内容外,还可以修改您的代码
OnClientClick="return Show_Hide_Display()"
这将阻止回发邮件。我猜您不希望发生回发,因为回发后您的div/按钮将可见。问题是linkbutton导致回发,因此由JS设置的回发后div可见性将恢复为默认值。i、 e.
style.display
将不被保存。一个简单的解决方案就是添加简单的html按钮。像这样
<input type="button" value="hide the div" onclick="Show_Hide_Display()" />
这只会触发JS,而不会导致回发,您的div可见性将按预期发生变化。为什么为负?如果你给出否定的回答,请至少对问题给出建设性的反馈。它做了什么出乎意料的事情?不显示:无,它仍在显示。你是否尝试过在浏览器的开发工具(或Firefox中的Firebug)中调试javascript?检查
div1.style
和div1.style.display
的值。一个或另一个可能是未定义的
。ahh div1返回null我不知道为什么…是的,这是获取呈现的asp.net控件ID的正确方法,但这并不能解决问题。div仍将可见@斯卡塔格说到点子上了。这是导致问题的回发,将div可见性重置为默认值。@NikoG。很高兴你发现了问题。是的,当您单击提交表单的元素时,如果希望不提交表单,则需要在函数调用之前添加return
语句。从函数本身返回false是不够的。@NikoG他们一起解决了我的问题。如果我可以加入答案或说更多的话,那么一个需要正确解决的问题我会:D这是真的,我有回发的问题,这很好。这是固定的:D。有效的答案,但在这种情况下,我们使用linkbutton感谢您的输入。更喜欢没有库的纯jscript,但感谢您向我显示此选项:)。当然没问题。也许其他人会觉得我的回答很有帮助。我认为你,在你的情况下,接受了正确的答案比!祝你好运
<input type="button" value="hide the div" onclick="Show_Hide_Display()" />