Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在客户端上隐藏div单击_C#_Javascript_Asp.net_Html - Fatal编程技术网

C# 在客户端上隐藏div单击

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

试图让这个div消失,似乎并没有做我期望它做的事情,我哪里做错了

它不会消失

Javascript:

<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()" />